Alright, Benoit Hediard ([EMAIL PROTECTED]) was nice enough to give me additional details to his ImageJ solution. I asked for his permission in posting it and he's cool with it, figured some others might be interested. Your mileage may vary, use at your own risk, I'm not responsible - nor is Ben Hediard. ;) There's a lot more stuff in ImageJ, this is just one example (from what I'm told, you could also write one to transform a .gif file into a .jpg file, I would imagine this would come handy with those wanting to dynamically import .jpg's).
Cheers, ~Todd ------------------------------------------------------ Step 1.) Head over to http://rsb.info.nih.gov/ij/index.html and download ImageJ http://rsb.info.nih.gov/ij/download.html Step 2.) Put Download "ij.jar", put it in "WEB-INF/lib" Step 3.) Hiccup the server (restart it) Step 4.) Example usage: <cffunction name="resize" output="false" returntype="boolean"> <!--- Written by: Benoit Hediard ([EMAIL PROTECTED]) Purpose: Here is a function I wrote to resize Jpeg and Gif images (it uses getType, getHeight, getWidth and the resizing processor). ---> <cfargument name="OriginalImagePath" type="string" required="true"> <cfargument name="ResizedImagePath" type="string" required="true"> <cfargument name="ResizeValue" type="numeric" required="true"> <cfargument name="ResizeType" type="string" required="false" default="auto" hint="Possible value : auto, width or height"> <cfset var bOK = false> <cfif FileExists(arguments.OriginalImagePath)> <cfobject type="java" name="objImagePlus" class="ij.ImagePlus" action="create"> <cfobject type="java" name="objOpener" class="ij.io.Opener" action="create"> <cfobject type="java" name="objFileSaver" class="ij.io.FileSaver" action="create"> <cfscript> objOriginalImage = objOpener.openImage(arguments.OriginalImagePath); numOriginalType = objOriginalImage.getType(); numOriginalWidth = objOriginalImage.getWidth(); numOriginalHeight = objOriginalImage.getHeight(); </cfscript> <cfswitch expression="#arguments.ResizeType#"> <cfcase value="auto"> <cfif numOriginalWidth gte numOriginalHeight> <cfset numResizedWidth = arguments.ResizeValue> <cfset numResizedHeight = Round(numResizedWidth * numOriginalHeight / numOriginalWidth)> <cfelse> <cfset numResizedHeight = arguments.ResizeValue> <cfset numResizedWidth = Round(numResizedHeight * numOriginalWidth / numOriginalHeight)> </cfif> </cfcase> <cfcase value="height"> <cfset numResizedHeight = arguments.ResizeValue> <cfset numResizedWidth = Round(numResizedHeight * numOriginalWidth / numOriginalHeight)> </cfcase> <cfcase value="width"> <cfset numResizedWidth = arguments.ResizeValue> <cfset numResizedHeight = Round(numResizedWidth * numOriginalHeight / numOriginalWidth)> </cfcase> </cfswitch> <cfscript> objResizedProcessor = objOriginalImage.getProcessor().resize(JavaCast("int",numResizedWidth),JavaCast("int",numResizedHeight)); objResizedImage = objImagePlus.init("Vignette",objResizedProcessor); objSaver = objFileSaver.init(objResizedImage); if (numOriginalType eq 3) bOK = objSaver.saveAsGif(arguments.ResizedImagePath); if (numOriginalType eq 4) bOK = objSaver.saveAsJpeg(arguments.ResizedImagePath); </cfscript> </cfif> <cfreturn bOK> </cffunction> -- ============================================================ Todd Rafferty ([EMAIL PROTECTED]) - http://www.web-rat.com/ | Team Macromedia Volunteer for ColdFusion | http://www.macromedia.com/support/forums/team_macromedia/ | http://www.flashCFM.com/ - webRat (Moderator) | http://www.ultrashock.com/ - webRat (Back-end Moderator) | ============================================================ ______________________________________________________________________ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/[email protected]/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

