DevTrain

Autor: Bernhard Elbl

Thumbnails mit ASP erstellen

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.
 
Zur Thumbnail-Komponente:
Kern der Komponente ist die "Intel JPEG Library 1.1" die von Intel als Freeware bereitgestellt wird. Hier der Link...
http://support.intel.com/support/performancetools/libraries/ijl/
Mit deren Hilfe in VB über API´s "bmp"-Files in "jpg"-Files konvertiert werden können und vieles mehr.
 
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.
 
http://www.devtrain.de/data/Alle/thumb2.zip

Erfasst am: 14.01.2002 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=685
© Copyright 2003 ppedv AG - http://www.ppedv.de