Hi all
I have a SQL database where images are stored in a varBinary field. I can
display those images within a image control on a page by using the following:
ImageUrl='<%# Eval("PictureID ", "~/ShowPicture.asp x?PictureID={0} ") %>'
The image is generated from an aspx page called “showPicture. aspx” using the
following code behind:
Imports System.Data.Sql Client
Partial Class ShowPicture
Inherits System.Web.UI.P age
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s)
Handles Me.Load
Dim PictureID As Integer = Convert.ToInt32 (Request.QueryS tring("PictureI D"))
'Connect to the database and bring back the image contents & MIME type for
the specified picture
Using myConnection As New
SqlConnection(C onfigurationMan ager.Connection Strings("ImageG alleryConnectio nString").Conne ctionString)
Const SQL As String = "SELECT [MIMEType], [ImageData] FROM [Pictures] WHERE
[PictureID] = @PictureID"
Dim myCommand As New SqlCommand(SQL, myConnection)
myCommand.Param eters.AddWithVa lue("@PictureID ", PictureID)
myConnection.Op en()
Dim myReader As SqlDataReader = myCommand.Execu teReader
If myReader.Read Then
Response.Conten tType = myReader("MIMET ype").ToString( )
Response.Binary Write(myReader( "ImageData" ))
End If
myReader.Close( )
myConnection.Cl ose()
End Using
End Sub
End Class
The problem I have is that the image control needs to be a thumbnail of the
original image. When I use the above technique the images are not
proprotionately resized to fit the image control width and height – rather
they are stretched to fit.
Can anyone give me some guidance on how once the binary data has been
retrieved it can be proportionatley resized to fit the image control?
Essentialy producing ‘thumbnails of the original.
Many thanks