Adobe ColdFusion 8

ImageCopy

Description

Copies a rectangular area of an image.

Returns

A ColdFusion image for the copied area.

Category

Image functions

Function syntax

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

See also

ImageNew, ImagePaste, IsImageFile

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"/>