Rubrik: Grafik und Font · Bilder & Icons | VB-Versionen: VB4, VB5, VB6 | 08.01.02 |
Bilder nach BMP, GIF, JPG oder PNG konvertieren Mit der janGraphics.dll ein Kinderspiel - Bilder in ein anderes Bildformat konvertieren! | ||
Autor: Dieter Otter | Bewertung: | Views: 87.010 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Haben Sie sich auch schon oft über fehlende Grafik-Konvertier-Funktionen geärgert?
Mit der janGrahics.dll ein Kinderspiel - das Konvertieren von Bildern in ein anderes Bildformat. Unterstützt werden die Formate BMP, GIF, JPG und PNG. Auch transparente GIFs sind möglich. Und erfolgt die Konvertierung in das JPG-Format, so lässt sich zusätzlich die Komprimierung (Qualität) festlegen. Und falls gewünscht speichern Sie die neue Grafik sogar in einer neuen Breite und/oder Höhe ab.
Was braucht man mehr?
Und damit Sie gleich loslegen können, habe ich mir gedacht, ich erstelle einmal ein kleines Beispielprojekt, welches die Features der janGraphics.dll voll ausschöpft.
Zunächst jedoch müssen Sie sich die DLL downloaden und anschliessend manuell registrieren (REGSVR32.EXE)
jangraphics.zip (283 KByte)
Wie wird die Konvertier-Funktion in VB aufgerufen?
Erstellen Sie ein neues Projekt. Am besten ist es, wenn Sie die janGraphic.dll in das Projektverzeichnis kopieren und dort registrieren.
Die DLL verfügt über zwei Funktionen:
Conv-Funktion
Die "Conv"-Funktion erwartet nur zwei Parameter: Dateinamen der Originaldatei und Dateinamen der Zieldatei. Der Aufruf erfolgt dann so:
' DLL initialisieren Dim janConvDLL As Object Set janConvDLL = CreateObject("janGraphics.Compendium") ' Bild konvertieren Dim sMsg As String Dim sFile1 As String Dim sFile2 As String ' Ausgangsbild, z.B. "Bitmap" sFile1 = "c:\bilder\bild1.bmp" ' Zielbild, z.B. GIF sFile2 = "c:\bilder\bild1.gif" sMsg = janConvDLL.Conv(sFile1, sFile2) If sMsg <> "" Then MsgBox "Fehler!" & vbCrLf & sMsg
Neben der sehr einfachen Conv-Funktion gibt es noch eine erweiterte Funktion.
ConvEx-Funktion
Die "ConvEx"-Funktion erwartet folgende Parameter:
Infile | Originalbild (Datei), welches konvertiert werden soll |
Outfile | Zielbild (Dateiname) - BMP, GIF, JPG, PNG |
fixWidth | Neue Breite oder 0, falls Originalbreite verwendet werden soll |
fixHeight | Neue Höhe oder 0, falls Orginalhöhe verwendet werden soll |
TransparentGif | Transparenz erstellen? (nur GIF). Wenn True bestimmt das unterste linke Pixel die transparente Farbe |
JpegQuality | Legt die Qualität des Zielbildes fest (nur JPG) und muss im Bereich 10-100 liegen, wobei 10 die höchste Kompressionsrate und 100 die niedrigste Kompressionsrate bedeutet |
' DLL initialisieren Dim janConvDLL As Object Set janConvDLL = CreateObject("janGraphics.Compendium") ' Bild konvertieren Dim sMsg As String Dim sFile1 As String Dim sFile2 As String ' Ausgangsbild, z.B. "Bitmap" sFile1 = "c:\bilder\bild1.bmp" ' Zielbild nach JPG, Qualität 70% des Originalbildes sFile2 = "c:\bilder\bild1.jpg" sMsg = janConvDLL.ConvertEx(sFile1, sFile2, 0, 0, False, 70) If sMsg <> "" Then MsgBox "Fehler!" & vbCrLf & sMsg
' Zielbild nach PNG mit neuer Dimension 100x50 sFile2 = "c:\bilder\bild1.png" sMsg = janConvDLL.ConvertEx(sFile1, sFile2, 100, 50, False, 0) If sMsg <> "" Then MsgBox "Fehler!" & vbCrLf & sMsg