Whatever message this page gives is out now! Go check it out!
<!--- This code creates a form with one field where the user enters the image file to upload. --->
<cfform action="makeThumbnail.cfm" method="post" enctype="multipart/form-data">
Please upload an image: <cfinput type="file" name="image">
<cfinput type="submit" value="Send Image" name="Submit">
</cfform><cfset thisDir = expandPath(".")>
<!--- Determine whether the form is uploaded with the image. --->
<cfif structKeyExists(form,"image") and len(trim(form.image))>
<!--- Use the cffile tag to upload the image file. --->
<cffile action="upload" fileField="image" destination="#thisDir#" result="fileUpload"
nameconflict="overwrite">
<!--- Determine whether the image file is saved. --->
<cfif fileUpload.fileWasSaved>
<!--- Determine whether the saved file is a valid image file. --->
<cfif IsImageFile("#fileUpload.serverfile#")>
<!--- Read the image file into a variable called myImage. --->
<cfimage action="read" source="#fileUpload.serverfile#" name="myImage">
<!--- Determine whether the image file exceeds the size limits. --->
<cfif ImageGetHeight(myImage) gt 800 or ImageGetWidth(myImage) gt 800>
<!--- If the file is too large, delete it from the server. --->
<cffile action="delete"
file="#fileUpload.serverDirectory#/#fileUpload.serverFile#">
<cfoutput>
<p>
The image you uploaded was too large. It must be less than 800 pixels wide
and 800 pixels high. Your image was #imageGetWidth(myImage)# pixels wide
and #imageGetHeight(myImage)# pixels high.
</p>
</cfoutput>
<!--- If the image is valid and does not exceed the size limits,
create a thumbnail image from the source file that is 75-pixels
square, while maintaining the aspect ratio of the source image.
Use the bilinear interpolation method to improve performance.
--->
<cfelse>
<cfset ImageScaleToFit(myImage,75,75,"bilinear")>
<!--- Specify the new filename as the source filename with
"_thumbnail" appended to it. --->
<cfset newImageName = fileUpload.serverDirectory & "/" &
fileUpload.serverFilename & "_thumbnail." &
fileUpload.serverFileExt>
<!--- Save the thumbnail image to a file with the new filename. --->
<cfimage source="#myImage#" action="write"
destination="#newImageName#" overwrite="yes">
<cfoutput>
<p>
Thank you for uploading the image. We have created a thumbnail for
your picture.
</p>
<p>
<!--- Display the thumbnail image. --->
<img src="#getFileFromPath(newImageName)#">
</p>
</cfoutput>
</cfif>
<!--- If it is not a valid image file, delete it from the server. --->
<cfelse>
<cffile action="delete"
file="#fileUpload.serverDirectory#/#fileUpload.serverFile#">
<cfoutput>
<p>
The file you uploaded, #fileUpload.clientFile#, was not a valid image.
</p>
</cfoutput>
</cfif>
</cfif>
</cfif><!--- Create a query to extract artwork and associated information from the cfartgallery database. --->
<cfquery name="artwork" datasource="cfartgallery">
SELECT FIRSTNAME, LASTNAME, ARTNAME, DESCRIPTION, PRICE, LARGEIMAGE, ISSOLD, MEDIATYPE
FROM ARTISTS, ART, MEDIA
WHERE ARTISTS.ARTISTID = ART.ARTISTID
AND ART.MEDIAID = MEDIA.MEDIAID
ORDER BY ARTNAME
</cfquery>
<cfset xctr = 1>
<table border="0" cellpadding="15" cellspacing="0" bgcolor="#FFFFFF">
<cfoutput query="artwork">
<cfif xctr mod 3 eq 1>
<tr>
</cfif>
<!--- Use the IsImageFile function to verify that the image files extracted
from the database are valid. Use the ImageNew function to create a
ColdFusion image from valid image files. --->
<cfif IsImageFile("../cfdocs/images/artgallery/#artwork.largeImage#")>
<cfset myImage=ImageNew("../cfdocs/images/artgallery/#artwork.largeImage#")>
<td valign="top" align="center" width="200">
<cfset xctr = xctr + 1>
<!--- For artwork that has been sold, display the text string "SOLD!"
in white on the image. --->
<cfif artwork.isSold>
<cfset ImageSetDrawingColor(myImage,"white")>
<cfset attr=StructNew()>
<cfset attr.size=45>
<cfset attr.style="bold">
<cfset ImageDrawText(myImage,"SOLD!",35,195, attr)>
</cfif>
<!--- Resize myImage to fit in a 110-pixel square, scaled proportionately. --->
<cfset ImageScaleToFit(myImage,110,"","bicubic")>
<!--- Add a 5-pixel black border around the images. (Black is the default color. --->
<!--- Add a 5-pixel black border to myImage. --->
<cfset ImageAddBorder(myImage,"5")>
<!--- Write the images directly to the browser without saving them to the hard drive.
--->
<cfimage source="#myImage#" action="writeToBrowser"><br>
<strong>#artwork.artName#</strong><br>
Artist: #artwork.firstName# #artwork.lastName#<br>
Price: #dollarFormat(artwork.price)#<br>
#artwork.mediaType# - #artwork.description#<br>
</td>
</cfif>
<cfif xctr-1 mod 3 eq 0>
</tr>
</cfif>
</cfoutput>
</table><!--- Set the length of the text string for the CAPTCHA image. --->
<cfset stringLength=6>
<!--- Specify the list of characters used for the random text string. The following list
limits the confusion between upper- and lowercase letters as well as between numbers and
letters. --->
<cfset
stringList="2,3,4,5,6,7,8,9,a,b,d,e,f,g,h,j,n,q,r,t,y,A,B,C,D,E,F,G,H,K,L,M,N,P,Q,R,S,
T,U,V,W,X,Y,Z">
<cfset rndString="">
<!--- Create a loop that builds the string from the random characters. --->
<cfloop from="1" to="#stringLength#" index="i">
<cfset rndNum=RandRange(1,listLen(stringList))>
<cfset rndString=rndString & listGetAt(stringList,rndNum)>
</cfloop>
<!--- Hash the random string. --->
<cfset rndHash=Hash(rndString)>
<!--- Create the user entry form. --->
<cfform action="captcha2.cfm" method="post">
<p>Please enter your first name:</p>
<cfinput type="text" name="firstName" required="yes">
<p>Please enter your last name:</p>
<cfinput type="text" name="lastName" required="yes">
<p>Please enter your e-mail address:</p>
<cfinput type="text" name="mailTo" required="yes" validate="email">
<!--- Use the randomly generated text string for the CAPTCHA image. --->
<p><cfimage action="captcha" fontSize="24" fonts="Times New Roman" width="200" height="50"
text="#rndString#"></p>
<p>Please type what you see: </p>
<p><cfinput type="text" name="userInput" required="yes" maxlength=6>
<cfinput type="hidden" name="hashVal" value="#rndHash#">
<p><cfinput type="Submit" name ="OK" value="OK"></p>
</cfform><!--- Verify whether the text entered by the user matches the CAPTCHA string. --->
<cfif #form.hashval# eq Hash(#form.userInput#)>
<cfoutput>
<p>
Thank you for registering for our online newsletter, #form.firstName# #form.lastName#.
</p>
<p>
A notification has been sent to your e-mail address: #form.mailTo#.
</p>
<cfmail from="newsletter@domain.com" to="#form.mailTo#" subject="Newsletter">
Thank you for your interest in our Newsletter.
</cfmail>
</cfoutput>
<cfelse>
<p>I'm sorry; please try again.</p>
</cfif><!--- Create a query to extract artwork from the cfartgallery database. --->
<cfquery name="artwork" datasource="cfartgallery">
SELECT ARTID, ARTNAME, LARGEIMAGE
FROM ART
ORDER BY ARTNAME
</cfquery>
<!--- Create a form that lists the artwork titles generated by the query. Set the value to
LARGEIMAGE so that the image file is passed to the action page. --->
<cfform action="dupImage2.cfm" method="post">
<p>Please choose a title:</p>
<cfselect name="art" query="artwork" display="ARTNAME" value="LARGEIMAGE" required="yes"
multiple="no" size="8">
</cfselect>
<br/><cfinput type="submit" name="submit" value="OK">
</cfform><!--- Determine whether a valid image file exists. --->
<cfif IsImageFile("../cfdocs/images/artgallery/#form.art#")>
<cfset original=ImageNew("../cfdocs/images/artgallery/#form.art#")>
<!--- Use the ImageNew function to create a clone of the ColdFusion image. --->
<cfset clone1=ImageNew(original)>
<!--- Use the ImageSharpen function to blur the cloned image. --->
<cfset ImageSharpen(clone1,-1)>
<!--- Use the ImageNew function to create a second clone of the original image. --->
<cfset clone2=ImageNew(original)>
<!--- Use the ImageSharpen function to sharpen the cloned image. --->
<cfset ImageSharpen(clone2,1)>
<!--- Use the ImageNew function to create a third clone for the original image. --->
<cfset clone3=ImageNew(original)>
<!--- Use the ImageSharpen function to sharpen the cloned image to the maximum setting.
--->
<cfset ImageSharpen(clone3,2)>
<!--- Create a form with a radio button for each selection. The value of the hidden field
is the relative path of the original image file. --->
<p>Please choose an image:</p>
<table>
<tr>
<cfform action="dupImage3.cfm" method="post">
<td><cfimage source="#original#" action="writeToBrowser"><br />
<cfinput type="radio" name="foo" value="original">Original Image</td>
<td><cfimage source="#clone1#" action="writeToBrowser"><br />
<cfinput type="radio" name="foo" value="blurred">Blurred Image</td>
<td><cfimage source="#clone2#" action="writeToBrowser"><br />
<cfinput type="radio" name="foo" value="sharper">Sharper Image</td>
<td><cfimage source="#clone3#" action="writeToBrowser"><br />
<cfinput type="radio" name="foo" value="sharpest">Sharpest Image</td>
<tr><td><cfinput type="Submit" name="OK" value="OK">
<cfinput type="hidden" name="orig_file"
value="../cfdocs/images/artgallery/#form.art#">
</td></tr>
</cfform>
</tr>
</table>
<cfelse>
<p>There is no image associated with the title you selected. Please click the Back button
and try again.</p>
</cfif><p>The image you have chosen has been saved.</p>
<cfset img=ImageNew("#form.orig_file#")>
<cfswitch expression=#form.foo#>
<cfcase value="blurred">
<cfset ImageSharpen(img,-1)>
</cfcase>
<cfcase value="sharper">
<cfset ImageSharpen(img,1)>
</cfcase>
<cfcase value="sharpest">
<cfset ImageSharpen(img,2)>
</cfcase>
</cfswitch>
<!--- Use the cfimage tag to write the image selected from the form to a file in the C drive.
Use the value of the hidden field as the source file for the image. --->
<cfimage source="#img#" action="write" destination="c:/myImage.jpg" overwrite="yes">
<img src="c:/myImage.jpg" />