|By Ben Nadel||
|July 31, 2007 08:00 PM EDT||
Finally, ColdFusion 8 has incorporated image manipulation directly into the ColdFusion tag and scripting language. No more are we, as developers, chained to third-party products.
These products, while excellent in quality, just mean adding one more level of complexity to any application that requires server-side image manipulation. Now, with CFImage and an abundance of image-related functions, ColdFusion has done to image manipulation what it has done to almost every other aspect of Web applications development - it has made it simple.
Due to the wide array of image functionality in ColdFusion 8, I am going to try and break this tutorial up into several small and manageable parts. The first part will cover basic reading and writing of images using CFImage and the related image manipulation functions. But, before we get into that, let's just quickly touch upon these new features as a whole.
ColdFusion 8 has given us CFImage. CFImage provides us with tag-based access to only a small subset of the image functionality including:
- Retrieving information about an image
- Reading an image into memory
- Resizing an image
- Rotating an image
- Adding a border to an image
- Converting an image from one file format to another
- Creating a CAPTCHA image
- Writing an image to a file
- Writing an image to the browser
In addition to the CFImage tag, ColdFusion has introduced dozens of new image manipulation functions including:
The ColdFusion 8 CFImage tag and the image-related functions all deal with a new ColdFusion object:
Most of you are not going to care about this one all that much, but for those of you who are interested in the underlying Java methods of the coldfusion.image.Image object, I have listed them below (skip past this if you have no idea what I'm talking about). Please note that any underlying methods of the actual Java/ColdFusion objects are found by gathering object metadata and through reflection; none of these methods are documented or officially supported. If you choose to use them, you do so at your own risk and discretion.
- addBorder( int, java.lang.String, java.lang.String ) - returns: void
- blur( int ) - returns: void
- brighten() - returns: void
- clearRect( int, int, int, int ) - returns: void
- copyArea( int, int, int, int ) - returns: coldfusion.image.Image
- copyArea( int, int, int, int, int, int ) - returns: coldfusion.image.Image
- crop( float, float, float, float ) - returns: void
- draw3DRect( int, int, int, int, boolean, boolean ) - returns: void
- drawArc( int, int, int, int, int, int, boolean ) - returns: void
- drawCubicCurve( double, double, double, double, double, double, double, double ) - returns: void
- drawLine( int, int, int, int ) - returns: void
- drawLines( [I, [I, boolean, boolean ) - returns: void
- drawOval( int, int, int, int, boolean ) - returns: void
- drawPoint( int, int ) - returns: void
- drawQuadraticCurve( double, double, double, double, double, double ) - returns: void
- drawRect( int, int, int, int, boolean ) - returns: void
- drawRoundRect( int, int, int, int, int, int, boolean ) - returns: void
- drawString( java.lang.String, int, int, coldfusion.runtime.Struct ) - returns: void
- flip( java.lang.String ) - returns: void
- getBase64String( java.lang.String ) - returns: java.lang.String
- getClass() - returns: java.lang.Class
- getColor( java.lang.String ) - returns: java.awt.Color
- getCurrentGraphics() - returns: java.awt.Graphics2D
- getCurrentImage() - returns: java.awt.image.BufferedImage
- getExifMetadata( javax.servlet.jsp.PageContext )- returns: coldfusion.runtime.Struct
- getExifTag( java.lang.String, javax.servlet.jsp.PageContext ) - returns: java.lang.String
- getHeight() - returns: int
- getImageBytes( java.lang.String ) - returns: [B
- getIptcMetadata( javax.servlet.jsp.PageContext ) - returns: coldfusion.runtime.Struct
- getIptcTag( java.lang.String, javax.servlet.jsp.PageContext ) - returns: java.lang.String
- getSource() - returns: java.lang.String
- getWidth() - returns: int
- grayscale() - returns: void
- info() - returns: coldfusion.runtime.Struct
- initializeMetadata( javax.servlet.jsp.PageContext ) - returns: void
- invert() - returns: void
- overlay( coldfusion.image.Image ) - returns: void
- paste( coldfusion.image.Image, int, int ) - returns: void
- readBase64( java.lang.String ) - returns: void
- resize( java.lang.String, java.lang.String, java.lang.String ) - returns: void
- resize( java.lang.String, java.lang.String, java.lang.String, double ) - returns: void
- rotate( float, float, float, java.lang.String ) - returns: void
- rotateAxis( double ) - returns: void
- rotateAxis( double, double, double ) - returns: void
- scaleToFit( int ) - returns: void
- scaleToFit( java.lang.String, java.lang.String, java.lang.String ) - returns: void
- scaleToFit( java.lang.String, java.lang.String, java.lang.String, double ) - returns: void
- setAntiAliasing( java.lang.String ) - returns: void
- setBackground( java.lang.String ) - returns: void
- setColor( java.lang.String ) - returns: void
- setDrawingStroke( coldfusion.runtime.Struct ) - returns: void
- setDrawingStroke( float, int, int, float, [F, float ) - returns: void
- setRenderingHint( java.awt.RenderingHints$Key, java.lang.Object ) - returns: void
- setTranparency( double ) - returns: void
- setXorMode( java.lang.String ) - returns: void
- sharpen( float ) - returns: void
- sharpenEdge() - returns: void
- shear( float, java.lang.String, java.lang.String ) - returns: void
- shearAxis( double, double ) - returns: void
- translate( int, int, java.lang.String ) - returns: void
- translateAxis( int, int ) - returns: void
- write( java.lang.String, float ) - returns: void
- writeBase64( java.lang.String, java.lang.String, boolean ) - returns: void
|Michael 07/12/08 01:43:25 AM EDT|
The noisy ad is beyond annoying.
|Mike Ritchie 08/01/07 06:08:54 PM EDT|
I wonder if the CF team consulted with the developer of ImageCFC? It also was basically a wrapper for the underlying Java image functionality. Either way, this looks like an exceptionally useful tool. Do you need to instantiate the object using cfimage? Or is it possible to manipulate an image completely within cfscript?
|Sanjeev 07/15/07 10:07:34 PM EDT|
rename the CodFusion as ColdFusion !
19th Cloud Expo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterpri...
Oct. 27, 2016 07:00 AM EDT Reads: 5,010
Amazon has gradually rolled out parts of its IoT offerings, but these are just the tip of the iceberg. In addition to optimizing their backend AWS offerings, Amazon is laying the ground work to be a major force in IoT - especially in the connected home and office. In his session at @ThingsExpo, Chris Kocher, founder and managing director of Grey Heron, explained how Amazon is extending its reach to become a major force in IoT by building on its dominant cloud IoT platform, its Dash Button strat...
Oct. 27, 2016 07:00 AM EDT Reads: 4,933
SYS-CON Events announced today that Streamlyzer will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Streamlyzer is a powerful analytics for video streaming service that enables video streaming providers to monitor and analyze QoE (Quality-of-Experience) from end-user devices in real time.
Oct. 27, 2016 06:45 AM EDT Reads: 1,089
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
Oct. 27, 2016 06:45 AM EDT Reads: 1,061
Cloud based infrastructure deployment is becoming more and more appealing to customers, from Fortune 500 companies to SMEs due to its pay-as-you-go model. Enterprise storage vendors are able to reach out to these customers by integrating in cloud based deployments; this needs adaptability and interoperability of the products confirming to cloud standards such as OpenStack, CloudStack, or Azure. As compared to off the shelf commodity storage, enterprise storages by its reliability, high-availabil...
Oct. 27, 2016 05:45 AM EDT Reads: 1,263
The IoT industry is now at a crossroads, between the fast-paced innovation of technologies and the pending mass adoption by global enterprises. The complexity of combining rapidly evolving technologies and the need to establish practices for market acceleration pose a strong challenge to global enterprises as well as IoT vendors. In his session at @ThingsExpo, Clark Smith, senior product manager for Numerex, will discuss how Numerex, as an experienced, established IoT provider, has embraced a ...
Oct. 27, 2016 05:30 AM EDT Reads: 1,216
The Internet of Things (IoT), in all its myriad manifestations, has great potential. Much of that potential comes from the evolving data management and analytic (DMA) technologies and processes that allow us to gain insight from all of the IoT data that can be generated and gathered. This potential may never be met as those data sets are tied to specific industry verticals and single markets, with no clear way to use IoT data and sensor analytics to fulfill the hype being given the IoT today.
Oct. 27, 2016 04:45 AM EDT Reads: 2,880
Donna Yasay, President of HomeGrid Forum, today discussed with a panel of technology peers how certification programs are at the forefront of interoperability, and the answer for vendors looking to keep up with today's growing industry for smart home innovation. "To ensure multi-vendor interoperability, accredited industry certification programs should be used for every product to provide credibility and quality assurance for retail and carrier based customers looking to add ever increasing num...
Oct. 27, 2016 04:00 AM EDT Reads: 777
In the next forty months – just over three years – businesses will undergo extraordinary changes. The exponential growth of digitization and machine learning will see a step function change in how businesses create value, satisfy customers, and outperform their competition. In the next forty months companies will take the actions that will see them get to the next level of the game called Capitalism. Or they won’t – game over. The winners of today and tomorrow think differently, follow different...
Oct. 27, 2016 03:45 AM EDT Reads: 1,114
“Media Sponsor” of SYS-CON's 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. CloudBerry Backup is a leading cross-platform cloud backup and disaster recovery solution integrated with major public cloud services, such as Amazon Web Services, Microsoft Azure and Google Cloud Platform.
Oct. 27, 2016 03:45 AM EDT Reads: 1,512
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, will discuss how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team a...
Oct. 27, 2016 03:45 AM EDT Reads: 758
The security needs of IoT environments require a strong, proven approach to maintain security, trust and privacy in their ecosystem. Assurance and protection of device identity, secure data encryption and authentication are the key security challenges organizations are trying to address when integrating IoT devices. This holds true for IoT applications in a wide range of industries, for example, healthcare, consumer devices, and manufacturing. In his session at @ThingsExpo, Lancen LaChance, vic...
Oct. 27, 2016 03:30 AM EDT Reads: 3,854
What are the successful IoT innovations from emerging markets? What are the unique challenges and opportunities from these markets? How did the constraints in connectivity among others lead to groundbreaking insights? In her session at @ThingsExpo, Carmen Feliciano, a Principal at AMDG, will answer all these questions and share how you can apply IoT best practices and frameworks from the emerging markets to your own business.
Oct. 27, 2016 03:00 AM EDT Reads: 2,700
Big Data has been changing the world. IoT fuels the further transformation recently. How are Big Data and IoT related? In his session at @BigDataExpo, Tony Shan, a renowned visionary and thought leader, will explore the interplay of Big Data and IoT. He will anatomize Big Data and IoT separately in terms of what, which, why, where, when, who, how and how much. He will then analyze the relationship between IoT and Big Data, specifically the drilldown of how the 4Vs of Big Data (Volume, Variety,...
Oct. 27, 2016 02:45 AM EDT Reads: 1,598
SYS-CON Events announced today that SoftNet Solutions will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. SoftNet Solutions specializes in Enterprise Solutions for Hadoop and Big Data. It offers customers the most open, robust, and value-conscious portfolio of solutions, services, and tools for the shortest route to success with Big Data. The unique differentiator is the ability to architect and ...
Oct. 27, 2016 02:15 AM EDT Reads: 1,132
For basic one-to-one voice or video calling solutions, WebRTC has proven to be a very powerful technology. Although WebRTC’s core functionality is to provide secure, real-time p2p media streaming, leveraging native platform features and server-side components brings up new communication capabilities for web and native mobile applications, allowing for advanced multi-user use cases such as video broadcasting, conferencing, and media recording.
Oct. 27, 2016 02:00 AM EDT Reads: 4,265
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm ...
Oct. 27, 2016 02:00 AM EDT Reads: 3,984
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
Oct. 27, 2016 01:45 AM EDT Reads: 2,151
A completely new computing platform is on the horizon. They’re called Microservers by some, ARM Servers by others, and sometimes even ARM-based Servers. No matter what you call them, Microservers will have a huge impact on the data center and on server computing in general. Although few people are familiar with Microservers today, their impact will be felt very soon. This is a new category of computing platform that is available today and is predicted to have triple-digit growth rates for some ...
Oct. 27, 2016 01:00 AM EDT Reads: 34,309
Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity.
Oct. 27, 2016 12:00 AM EDT Reads: 11,138