w3Image Examples

Dynamic thumbnails from MS SQL-Server

Generating dynamic thumbnail images in any size is really simple to do with w3Image 2.0

   Test.htm


 <HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>

Image Test:<BR>
<IMG SRC="ShowImage.ASP?ImageID=201&ImageWidth=200"><br>
<IMG SRC="ShowImage.ASP?ImageID=102&ImageWidth=120"><br>

</BODY>
</HTML>
 

  Showimage.asp


 <%@ LANGUAGE="VBSCRIPT" %>
<%
' ///////////////////////////////////////////////////////////////////
' // Generating Dynamic Thumbnails from MS SQL Server
' // with w3Image 2.0
' //
' // In:
' // vImageID - Recordset ID of image record in SQL DB
' // vImageWidth - Width of thumbnail to generate
' //
' // Out: An Image to Response Object
' //
' //////////////////////////////////////////////////////////////////


' /// Clear out the existing HTTP header information
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear

Response.ContentType = "image/jpeg"

Dim vImageID, vImageWidth, w, iScaleFactor
Dim Conn, Rs, Fs, oImage

vImageID = cLng(Request.QueryString("ImageID"))
vImageWidth = Cint(Request.QueryString("ImageWidth"))

' /// Check if we got an width. If not, set it to 200px
If IsNull(vImageWidth) Then
     vImageWidth = 200
End IF

Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Set Fs = Server.CreateObject("ADODB.Stream")
set oImage = Server.CreateObject("W3Image.Image")

' /// Remember to change this to your own SQl Server connection settings
Conn.Open "Provider=SQLOLEDB;Data Source=YourSource;database=YourDB;uid=YourUser;pwd=YourPassword;"

Fs.Type = 1
Fs.Open

SQL = "SELECT MyImage FROM ImageTable WHERE RecordID=" & vImageID
set Rs = Conn.Execute(SQL)

IF NOT Rs.eof THEN
   ' // Load image into Stream Object
   Fs.Write Rs("MyImage").Value

   ' // Load Stream into w3Image object
   oImage.LoadImageFromStream FS

   ' // Close Stream
   Fs.Close

   ' // Calculate scale factor and scale image
 
  w = oImage.Width
   if (w <> vImageWidth) Then
       iScaleFactor = CDbl(vImageWidth/w)
       oImage.Scale 100 * iScaleFactor, 0
   End IF

   ' // Stream image to response as JPEG-image.
   oImage.StreamImage Response, "JPG", 24

End if

Set Rs = Nothing
Set Conn = Nothing

Response.End

%>