DevTrain

Autor: Bernhard Elbl

Windows Imaging - vergessene Controls

Windows Imaging ist bestandteil von Win95, Win98, WinNT und Windows 2000. Mit Windows Imaging wird schwierige Grafikbearbeitung zum Kinderspiel; nicht für Benutzer, sondern mehr für Entwickler:-). In VB arbeiten wir meist mit der PictureBox oder mit Image. Diese können Grafiken darstellen. Wenn es aber darum geht, Grafiken zu bearbeiten, dann sieht es wohl schon etwas schlechter aus. Im übrigen gibt es sicher bessere Komponenten als Windows Imaging, allerdings KEINE kostenlosen!

Windows Imaging im Überblick
4 Steuerelemente werden uns für Bildbearbeitung bereitsgestellt
- Kodak Image Edit Control
- Kodak Image Admin Control
- Kodak Image Thumbnail Control
- Kodak Image Scan Control

Wo finden Sie diese?
Im System32-Verzeichnis von Windows müssen einige Dateien, die mit "img*.ocx" beginnen liegen, wie z.B. "imgedit.ocx" für das Image Edit Control.

Was tun, wenn die Datei (bzw die Controls) nicht da ist?
Die Dateien...
imgedit.ocx
oiadm400.dll
oigfs400.dll
oidis400.dll
oifil400.dll
imgcmn.dll
von...
http://www.treiber-archive.de
runterladen.
Hier können Sie alle 4 Controls runterladen, die Dateien oben, stellen die ImgEdit.ocx und alle ihre benötigten Komponenten dar.

Was können Sie mit den Windows Imaging Controls tun?
Mit diesen können Sie z.B. Bilder vergrössern, verkleinern, rotieren, zoomen, scannen, Thumbnails darstellen Bilder konvertieren in JPG, BMP, GIF, TIF usw.

Wie kann ich Sie ihn ASP einsetzen?
Da Sie die Controls serverseitig nicht mit ASP benutzen können, müssen Sie mit Hilfe einer ActiveX-Komponente ein COM-Interface bereitstellen.
Hier einige Grundkenntnisse zur Komponenten Entwicklung mit VB...
http://www.devtrain.de/news.asp?artnr=427

So können sie alle Features für ASP bereitstellen.
Hier ein Beispiel: VB-Komponente, die das konvertieren von Bildern unterstützt.

VB-DLL:
- ActiveX-DLL Project anlegen
- Form hinzufügen
- auf die Form ein Image Edit Control setzen und ihm den Namen "imgedit1" geben
- in die Klassen folgendes Code schreiben
Option Explicit

Public Enum ePicType
    enBMP = wiFileTypeBMP
    enJPG = wiFileTypeJPG
    enGIF = wiFileTypeGIF
    enTIF = wiFileTypeTIFF
    enAWD = wiFileTypeAWD
    enPCX = wiFileTypePCX
    enWIF = wiFileTypeWIFF
    enXIF = wiFileTypeXIF
    enDCX = wiFileTypeDCX
End Enum


Public Function ConvertPicture(ByVal sPicPath As String, ByVal sNewPicPath As String, ByVal ConvertTo As ePicType)
    On Error Resume Next
    With frmPictureLayer.ImgEdit1
        .Image = sPicPath
        .Display
        .SaveAs sNewPicPath, ConvertTo
        .CompressionType
    End With
   
    If Err.Number <> 0 Then
        ConvertPicture = Err.Number & " : " & Err.Description
    End If
End Function


- Komponente kompilieren
- ASP Seite erstellen und folgenden Code schreiben...
<%@ Language=VBScript %>
<%
const enJPG = 6
sPic = Server.MapPath("./") & "images est.bmp"
sNewPic = Server.MapPath("./") & "images est-new.jpg"

set oPic = Server.CreateObject("Picture.CConverter")
oPic.ConvertPicture sPic, sNewPic, enJPG
set oPic = nothing

Response.Write "Sie haben " & sPic & " in " & sNewPic & " convertert!"
%>


So wie dieses Beispiel gestaltet ist können Sie alle Features für ASP implementieren.

 


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