7. Images


Newsletter Signup

   

Chapter 8: Unicode Support Chapter 6: User Impersonation and Permissions

Chapter 7. Image Handling

7.1 Image Size and Type Extraction
7.2 Image Resizing

7.1 Image Size and Type Extraction

AspUpload is capable of determining the type and pixel size of uploaded images. The formats currently supported are GIF, JPEG, BMP and PNG. The type and size information is returned via the properties File.ImageType, File.ImageWidth, and File.ImageHeight.

The property File.ImageType returns the strings "GIF", "JPG", "BMP", "PNG" (for GIF JPEG BMP and PNG images, respectively), or "UNKNOWN" if the file is not an image or of an unknown image type.

The properties File.ImageWidth and File.ImageHeight return the image width and height in pixels, or 0 if the file is not an image.

The code samples size.asp and size_upload.asp demonstrate the usage of these properties.

<!--#include file="AspUpload.inc"-->

<HTML>
<BODY>
<%
Set Upload = Server.CreateObject("Persits.Upload")

' Capture and save uploaded image
Upload.Save "c:\upload"

For Each File in Upload.Files
   If File.ImageType = "UNKNOWN" Then
      Response.Write "This is not an image."
      Response.End
   End If

   Response.Write File.Path & "<BR>"
   Response.Write "Type: " & File.ImageType & "<BR>"
   Response.Write "Size: " & File.ImageWidth & " x " & File.ImageHeight & " pixels"
Next
%>
</BODY>
</HTML>

Click the link below to run this code sample:

http://localhost/aspupload/07_images/size.asp  Why is this link not working?

7.2 Image Resizing
AspUpload can be used in conjunction with another Persits Software component, AspJpeg, to create resized versions and thumbnails of JPEG images. An evaluation copy of AspJpeg can be downloaded here.

The code samples resize.asp and resize_upload.asp demonstrate how AspJpeg can be used to resize a newly uploaded JPEG image. The uploaded and resized images are saved in the same directory as the ASP scripts, rather than the usual c:\upload folder, to be able to display both images in the browser easily.

<HTML>
<BODY>
<%
Set Upload = Server.CreateObject("Persits.Upload")

' Use AspJpeg to resize image
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Capture and save uploaded image to the same directory as script
Upload.Save Server.MapPath(".")

For Each File in Upload.Files
   If File.ImageType <> "JPG" Then
      Response.Write "This is not a JPGE image."
      File.Delete
      Response.End
   End If

   Jpeg.Open File.Path

   Scale = Upload.Form("Scale")
   Jpeg.Width = Jpeg.OriginalWidth * Scale / 100
   Jpeg.Height = Jpeg.OriginalHeight * Scale / 100
   Response.Write Jpeg.OriginalHeight & "-" & Jpeg.Height
   Jpeg.Save Server.MapPath(".") & "\small_" & File.FileName
%>
   <IMG SRC="<% = File.FileName %>"><BR>
   <IMG SRC="<% = "small_" & File.FileName %>"><P>
<%
Next
%>
</BODY>
</HTML>

Click the link below to run this code sample:

http://localhost/aspupload/07_images/resize.asp  Why is this link not working?

AspJpeg comes with many more code samples. A live demo is also available.

Chapter 8: Unicode Support Chapter 6: User Impersonation and Permissions

 

 
AspUpload.com Home Page Copyright © 1998 - 2013 Persits Software, Inc.
All Rights Reserved
AspUpload® is a registered trademark of Persits Software, Inc.