No you don't need to buy anything....use this method (I've posted it at least 5-6 times by now)....drop it in a CFC and away you go....will work on MX 6.x/7
No need for any Java classes/jars to be added to CF <!---(Function: ThumbIt)------------------------------------------------------ Date Created: December 1, 2003 Author: Bryan Stevenson Arguments: FileLoc - full path of image to be thumbnailed (string) required ThumbPrefix - string to append to the filename to name the thumbnail (string) not required ScaleBy - which dimension to scale by "W or H" (string) required ScaleValue - the measurement of the dimension specified in ScaleBy to use to calculate proper scale (string) required Purpose: shrink an image Returns: N/A ---> <cffunction name="ThumbIt" access="public"> <cfargument name="FileLoc" type="string" required="Yes"> <cfargument name="ThumbPrefix" type="string"required="No" default=""> <cfargument name="ScaleBy" type="string" required="Yes"> <cfargument name="ScaleValue" type="string"required="Yes"> <cfset jFileIn = createObject("java","java.io.File").init(ARGUMENTS.FileLoc)> <!--- build new file loc and name ---> <cfset DirPath = GetDirectoryFromPath(ARGUMENTS.FileLoc)> <cfset FileName = GetFileFromPath(ARGUMENTS.FileLoc)> <cfset ThumbFileLoc = DirPath & ARGUMENTS.ThumbPrefix & FileName> <cfset jFileOut = createObject("java","java.io.File").init(ThumbFileLoc)> <!--- set dimensions ---> <cfset inBufferedImg = createObject("java","javax.imageio.ImageIO").read(jFileIn)> <cfset ImgWidth = inBufferedImg.getWidth()> <cfset ImgHeight = inBufferedImg.getHeight()> <!--- calculate scale ---> <cfif UCase(ARGUMENTS.ScaleBy) eq "W"> <cfset Scale = ARGUMENTS.ScaleValue / ImgWidth> <cfelseif UCase(ARGUMENTS.ScaleBy) eq "H"> <cfset Scale = ARGUMENTS.ScaleValue / ImgHeight> </cfif> <!--- define thumbnail dimensions ---> <cfset ScaledWidth = (Scale * ImgWidth)> <cfset ScaledHeight = (Scale * ImgHeight)> <!--- create image output ---> <cfset outBufferedImg = createObject("java","java.awt.image.BufferedImage").init(JavaCast("int", ScaledWidth), JavaCast("int", ScaledHeight), JavaCast("int", 1))> <!--- create the AffineTransform ---> <cfset jTransform = createObject("java","java.awt.geom.AffineTransform").init()> <cfset temp = jTransform.Scale(Scale, Scale)> <!--- initialize a Graphics2D object ---> <cfset jGraphics2D = outBufferedImg.createGraphics()> <!--- draw the thumbnail ---> <cfset temp = jGraphics2D.drawRenderedImage(inBufferedImg, jTransform)> <cfset temp = jGraphics2D.dispose()> <!--- write the thumbnail image to disk ---> <cfset fileWritten = createObject("java","javax.imageio.ImageIO").write(outBufferedImg, "jpg", jFileOut)> </cffunction> Hope that does the trick Cheers Bryan Stevenson B.Comm. VP & Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:212449 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54