ImageCopy

Description

Copies a rectangular area of an image.

Returns

A ColdFusion image for the copied area.

Function syntax

ImageCopy(name, x, y, width, height [, dx, dy])

History

ColdFusion 8: Added this function.

Parameters

Parameter

Description

name

Required. The ColdFusion image on which this operation is performed.

x

Required. The x coordinate of the source rectangle.

y

Required. The y coordinate of the source rectangle.

width

Required. The width of the source rectangle.

height

Required. The height of the source rectangle.

dx

Optional. The x coordinate of the destination rectangle.

dy

Optional. The y coordinate of the destination rectangle.

Usage

The rectangle is specified by (x,y,width,height). The area is copied to the rectangle with the upper-left corner specified by (dx,dy).

Example

Example 1

<!--- This example shows how to copy a rectangular area of an image to a new image. ---> 
<!--- Create a ColdFusion image from an existing JPEG file. ---> 
<cfimage source="../cfdocs/images/artgallery/lori05.jpg" name="myImage"> 
<!--- Copy the rectangular area specified by the coordinates (25,25,50,50) in the image to the rectangle beginning at (75,75), and return this copied rectangle as a new ColdFusion image. --->  
<cfset dupArea = ImageCopy(myImage,25,25,50,50,75,75)> 
<!--- Write the result to a PNG file. ---> 
<cfimage source=#myImage# action="write" destination="test_myImage.png" overwrite="yes"> 
<!--- Display the source image and the new image. ---> 
<img src="../cfdocs/images/artgallery/lori05.jpg"> 
<img src="test_myImage.png">

Example 2

<!--- This example shows how to copy a rectangular area from one image and paste it over another image. ---> 
<!--- Create a ColdFusion image named "myImage1" from an existing JPEG file.---> 
<cfimage source="../cfdocs/images/artgallery/lori05.jpg" name="myImage1"> 
<!--- Create the ColdFusion image "myImage2" from a different JPEG file. 
    ---> 
<cfimage source="../cfdocs/images/artgallery/maxwell01.jpg" name="myImage2"> 
<!--- Copy a rectangular region of "myImage1" as a new image. ---> 
<cfset resImage = ImageCopy(myImage1,1,1,55,55)> 
<!--- Paste the rectangular area on the second image. ---> 
<cfset ImagePaste(myImage2,resImage,50,75)> 
<!--- Write the second ColdFusion image to a file. ---> 
<cfimage action="write" source="#myImage2#" destination="test_myImage.jpg" overwrite="yes"> 
<!--- Display the two source files and the new file. ---> 
<img src="../cfdocs/images/artgallery/lori05.jpg"/> 
<img src="../cfdocs/images/artgallery/maxwell01.jpg"/> 
<img src="test_myImage.jpg"/>