In Classic ASP ist im Gegensatz zu ASP.NET keine Möglichkeit vorhanden, Thumbnails zu generieren. Also brauchen wir eine Komponente. Im Internet gibt es viele Komponenten, meines Wissens leider keine kostenlose. Also will ich hier auf Devtrain meine Thumbnail-Komponente bereitstellen.
Features der Thumbnail-Komponente:
- vergrössern, oder verkleinern von gif, bmp, jpg
- speichern von Thumbnails als "bmp" oder "jpg"
- Rückgabe eines binären Streams von "bmp" oder "jpg"
Wie verwendet man diese Komponente in ASP?
thumb.asp
<%@ Language=VBScript %> <% ' Konstanten für den Bild-Typen const enBMP = 0 const enJPG = 1 ' Konstanten für den Rückgabewert der "GetThumbnail"-Methode const enFileName = 0 const enBinaryStream = 1 ' Instantiierung der Thumbnail-Komponente set oThumb = Server.CreateObject("ppThumbnail.CThumbGen") with oThumb ' Pfad des Original-Bildes setzen .OriginalFileName = Request.QueryString("Filename") ' Grösse des Thumbnails bestimmen (Breite, Höhe, * Keepproportion) .SetThumpSizeTo 100,200, true Response.Clear Response.ContentType="image/pjpeg" ' JPG-Bild als binär-stream schreiben Response.BinaryWrite .GetThumbNail(enBinaryStream,enJPG) end with set oThumb = nothing %> |
* Keepproportion: True heisst die Proportionen der Seitenlängen (Höhe und Breite) des Bildes bleiben erhalten.
Die thumb.asp kann so in eine Seite eingebunden werden.
thumbview.asp
<%@ Language=VBScript %> <HTML> <HEAD> </HEAD> <BODY> <imgsrc="thumb.asp?Filename=<%=Server.MapPath("./") & "Beispiel.jpg"%>"> </BODY> </HTML> |
In diesem Beispiel wird das Thumbnail als binärer Stream geschrieben.
Der ContentType muss also dringend angegeben werden!
So werden die Thumbnails als Datei gespeichert.
thumb2.asp
<%@ Language=VBScript %> <% ' Konstanten für den Bild-Typen const enBMP = 0 const enJPG = 1 ' Konstanten für den Rückgabewert der "GetThumbnail"-Methode const enFileName = 0 const enBinaryStream = 1 ' Instantiierung der Thumbnail-Komponente set oThumb = Server.CreateObject("ppThumbnail.CThumbGen") with oThumb ' Pfad des Original-Bildes setzen .OriginalFileName = Server.MapPath("./") & "Beispiel.jpg" ' Thumbnail-Dateiname setzen .ThumbFileName = Server.MapPath("./") & "Beispiel-tb.jpg" ' Grösse des Thumbnails bestimmen (Breite, Höhe, * Keepproportion) .SetThumpSizeTo 100,200, false ' Bild als JPG als Datei speichern Response.Write .GetThumbNail(enFileName,enJPG) & " als Thumbnail erstellt" end with set oThumb = nothing %> |
Unten steht die Komponente und die ASP-Seiten zum Download bereit.