.....and for those that care (Tony got his offlist)....here's the FREE code I 
was on about yesterday.....enjoy!!

  <!---(Function: 
ThumbIt)------------------------------------------------------
  Date Created:   December 1, 2003
  Author:         Bryan
  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 dimiensions --->
    <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>

  <!---(Function: 
ImageSize)------------------------------------------------------
  Date Created:   November 28, 2003
  Author:         Bryan
  Arguments:      FileLoc - full path of image to get details for (string) 
required
  Purpose:        returns file width/height
  Returns:        ImageInfo structure with ImgWidth/ImgHeight keys
  --->
  <cffunction name="ImageSize" returnType="struct" access="public">

    <cfargument name="FileLoc" type="string" required="Yes">

    <cfset jFileIn = 
createObject("java","java.io.File").init(ARGUMENTS.FileLoc)>

    <cfset ImageInfo = StructNew()>
    <cfset ImageObject = 
createObject("java","javax.imageio.ImageIO").read(jFileIn)>

    <cfset ImageInfo.ImgWidth = ImageObject.getWidth()>
    <cfset ImageInfo.ImgHeight = ImageObject.getHeight()>

    <cfreturn ImageInfo>

  </cffunction>

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 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:220128
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=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to