Klassenbibiliothek:
EXApp | EXDialog | EXMath | EXString | EXStrings | EXXmlDoc | EXSystem | EXNetwork | EXImage
EXApp | EXDialog | EXMath | EXString | EXStrings | EXXmlDoc | EXSystem | EXNetwork | EXImage
ExBox // Makros / Klassenreferenz - EXImage
Diese Klasse bietet Funktionen zum Umgang mit Grafiken.
Unterstützte Grafik-Formate (TEXImageFormat) :
ifJPG, ifJPG2000, ifPNG, ifICO, ifBMP, ifPS, ifPSD, ifGIF, ifTIFF, ifTGA, ifPDF, ifPCX
Unterstützte Resampling-Filter (TEXResampleFilter):
rfDefault, rfLanczos3, rfNearest, rfLinear, rfFastLinear, rfBilinear, rfBicubic
Unterstützte Crop-Einstellungen (TEXCropAnchor):
caCenter, caTop, caBottom, caLeft, caRight
Unterstützte Grafik-Formate (TEXImageFormat) :
ifJPG, ifJPG2000, ifPNG, ifICO, ifBMP, ifPS, ifPSD, ifGIF, ifTIFF, ifTGA, ifPDF, ifPCX
Unterstützte Resampling-Filter (TEXResampleFilter):
rfDefault, rfLanczos3, rfNearest, rfLinear, rfFastLinear, rfBilinear, rfBicubic
Unterstützte Crop-Einstellungen (TEXCropAnchor):
caCenter, caTop, caBottom, caLeft, caRight
IsValid(FileName: string): Boolean
Liefert True zurück, wenn die Dateiendung des übergebenen FileName einem unterstützten Grafikformat entspricht.
FileName: string
Liefert den Dateinamen des aktuell geladenen Bildes zurück.
Width: Integer
Liefert die Breite des aktuell geladenen Bildes zurück.
Height: Integer
Liefert die Höhe des aktuell geladenen Bildes zurück.
Load(FileName: string): TEXImage
Läd ein Bild mit dem angegebenen FileName. Anhand der Endung wird das Format automatisch erkannt. Liefert eine Instanz auf sich selber zurück, um im Anschluss weitere Operationen durchführen zu können.
Save: TEXImage
Speichert ein zuvor geladenes Bild unter dem Original-Dateinamen ab.
SaveTo(FileName: string): TEXImage
Speichert ein zuvor geladenes Bild unter einem neuen Dateinamen (FileName) ab. Dabei legt die Endung das Zielformat fest. Dies kann zu einer einfachen Konvertierung von Bildformaten genutzt werden.
SaveToFormat(AFileName: string; Format: TEXImageFormat): TEXImage
Speichert ein zuvor geladenes Bild unter einem neuen Dateinamen (FileName) in einem expliziet übergebenen Format ab (siehe Seitenanfang).
SetDefaults: TEXImage
Setzt die internen Bearbeitungsparameter auf ihre Ursprungswerte zurück. Dies betrifft z.B. einen zuvor geändertern Resampling-Filter.
SetResampleFilter(Filter: TEXResampleFilter): TEXImage
Setzt den zu benutzenden Filter bei Größenänderungen (siehe Seitenanfang).
SetCropAnchor(Anchor: TEXCropAnchor): TEXImage
Setzt den beizubehaltenden Bereich bei Größenänderungen (siehe Seitenanfang).
Copy: TEXImage
Kopiert das gesamte Bild in die Windows-Zwischenablage.
Undo: TEXImage
Nimmt die letzte Änderung zurück.
UndoAll: TEXImage
Nimmt alle Änderungen zurück.
Redo: TEXImage
Wiederholt die letzte Änderung.
Adjust(MaxWidth, MaxHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Maximal-Breite (MaxWidth) bzw. Maximal-Höhe (MaxHeight). Dabei wird der aktuelle Resampling-Filter benutzt. Als Ausgang für die Berechnung dienen die Original-Proportionen.
Resample(NewWidth, NewHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Breite (NewWidth) und Höhe (NewHeight). Dabei wird der aktuelle Resampling-Filter benutzt. Ist eine der beiden Zahlen 0, werden die Proportionen beibehalten.
Resize(NewWidth, NewHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Breite (NewWidth) und Höhe (NewHeight). Dabei wird kein Filter angewendet. Ist einer der beiden Zahlen 0, werden die Proportionen beibehalten. Die Skalierung wird dabei zentriert durchgeführt.
Remold(NewWidth, NewHeight: Integer): TEXImage
Ist eine Kombination aus Resample und Resize. Dabei wird das Bild zunächst auf die neue Breite (NewHeight) und Höhe (NewHeight) gebracht (Resampling) und anschließend die Arbeitsfläche mittig angepasst (Resize). Der evtl. enstehende Leerraum wird automatisch aufgefüllt.
Negative: TEXImage
Invertiert alle Farben des Bildes.
ConvertToGray: TEXImage
ConvertToGrey: TEXImage
Konvertiert alle Farben des Bildes in entsprechende Graustufen.
ConvertToSepia: TEXImage
Konvertiert alle Farben des Bildes in entsprechende Sepia Töne.
FlipHorizontal: TEXImage
Spiegelt das Bild horizontal.
FlipVertical: TEXImage
Spiegelt das Bild vertikal.
Contrast(NewValue: Double): TEXImage
Setzt den Kontrast des Bildes auf den neuen Wert (NewValue).
Rotate(Angle: Double; Crop: Boolean): TEXImage
Rotiert das Bild zentriert um den angegebenen Winkel (Angle) und schneidet evtl. entstehende Überlappungen ab (Crop).
Blur(Radius: Double): TEXImage
Zeichnet das Bild mit dem übergebenen Radius weich.
Reflect(Percentage: Integer): TEXImage
Erzeugt eine Reflektion (oder Spiegelung) unterhalb des Bildes in der übergeben Stärke (Percentage).
Crop(Left, Top, Right, Bottom: Integer): TEXImage
Schneidet das Bild in die übergebenen Maße (links - oben - rechts - unten).
CropTop(Pixels: Integer): TEXImage
Schneided das Bild von oben ab.
CropBottom(Pixels: Integer): TEXImage
Schneided das Bild von unten ab.
Round(Width, Height: Integer): TEXImage
Erzeugt Rundungen an den vier Eckes des Bildes mit den übergebenen Werten für Breite (Width) und Höhe (Height).
Sharpen(Intensity: Integer): TEXImage
Schärft das Bild in der übergebenen Stärke (Intensitiy).
UnsharpMask(Radius, Amount: Double): TEXImage
Wendet eine Unschärfe-Maske mit dem übergebenen Radius (Radius) und der Stärke (Amount) an.
AutoSharp: TEXImage
Wendet einen automatischen Schärfe-Filter auf das Bild an.
Sketch: TEXImage
Wandelt das Bild in eine Bleistiftzeichnung um.
CreateShadow(Intensity: Double): TEXImage
Erzeugt einen Schlagschatten in der übergebenen Stärke (Intensity).
CreateBorder(Size: Integer): TEXimage
Erzeugt einen äußeren Rahmen in schwarzer Farbe in der übergebenen Stärke (Intensity).
RemoveColor(AColor: TColor): TEXImage
Entfernt die Farbe (AColor) und erzeugt (bei einem kompatiblen Grafikformat) entsprechende Transparenzen.
ICO: TEXICOFormats
Erlaubt das Anlegen zusätzlicher Formate bzw. Bilder (Breite, Höhe, Bits) innerhalb einer ICO-Datei (siehe Beispiel).
Liefert True zurück, wenn die Dateiendung des übergebenen FileName einem unterstützten Grafikformat entspricht.
FileName: string
Liefert den Dateinamen des aktuell geladenen Bildes zurück.
Width: Integer
Liefert die Breite des aktuell geladenen Bildes zurück.
Height: Integer
Liefert die Höhe des aktuell geladenen Bildes zurück.
Load(FileName: string): TEXImage
Läd ein Bild mit dem angegebenen FileName. Anhand der Endung wird das Format automatisch erkannt. Liefert eine Instanz auf sich selber zurück, um im Anschluss weitere Operationen durchführen zu können.
Save: TEXImage
Speichert ein zuvor geladenes Bild unter dem Original-Dateinamen ab.
SaveTo(FileName: string): TEXImage
Speichert ein zuvor geladenes Bild unter einem neuen Dateinamen (FileName) ab. Dabei legt die Endung das Zielformat fest. Dies kann zu einer einfachen Konvertierung von Bildformaten genutzt werden.
SaveToFormat(AFileName: string; Format: TEXImageFormat): TEXImage
Speichert ein zuvor geladenes Bild unter einem neuen Dateinamen (FileName) in einem expliziet übergebenen Format ab (siehe Seitenanfang).
SetDefaults: TEXImage
Setzt die internen Bearbeitungsparameter auf ihre Ursprungswerte zurück. Dies betrifft z.B. einen zuvor geändertern Resampling-Filter.
SetResampleFilter(Filter: TEXResampleFilter): TEXImage
Setzt den zu benutzenden Filter bei Größenänderungen (siehe Seitenanfang).
SetCropAnchor(Anchor: TEXCropAnchor): TEXImage
Setzt den beizubehaltenden Bereich bei Größenänderungen (siehe Seitenanfang).
Copy: TEXImage
Kopiert das gesamte Bild in die Windows-Zwischenablage.
Undo: TEXImage
Nimmt die letzte Änderung zurück.
UndoAll: TEXImage
Nimmt alle Änderungen zurück.
Redo: TEXImage
Wiederholt die letzte Änderung.
Adjust(MaxWidth, MaxHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Maximal-Breite (MaxWidth) bzw. Maximal-Höhe (MaxHeight). Dabei wird der aktuelle Resampling-Filter benutzt. Als Ausgang für die Berechnung dienen die Original-Proportionen.
Resample(NewWidth, NewHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Breite (NewWidth) und Höhe (NewHeight). Dabei wird der aktuelle Resampling-Filter benutzt. Ist eine der beiden Zahlen 0, werden die Proportionen beibehalten.
Resize(NewWidth, NewHeight: Integer): TEXImage
Ändert die Bildgröße auf die neue Breite (NewWidth) und Höhe (NewHeight). Dabei wird kein Filter angewendet. Ist einer der beiden Zahlen 0, werden die Proportionen beibehalten. Die Skalierung wird dabei zentriert durchgeführt.
Remold(NewWidth, NewHeight: Integer): TEXImage
Ist eine Kombination aus Resample und Resize. Dabei wird das Bild zunächst auf die neue Breite (NewHeight) und Höhe (NewHeight) gebracht (Resampling) und anschließend die Arbeitsfläche mittig angepasst (Resize). Der evtl. enstehende Leerraum wird automatisch aufgefüllt.
Negative: TEXImage
Invertiert alle Farben des Bildes.
ConvertToGray: TEXImage
ConvertToGrey: TEXImage
Konvertiert alle Farben des Bildes in entsprechende Graustufen.
ConvertToSepia: TEXImage
Konvertiert alle Farben des Bildes in entsprechende Sepia Töne.
FlipHorizontal: TEXImage
Spiegelt das Bild horizontal.
FlipVertical: TEXImage
Spiegelt das Bild vertikal.
Contrast(NewValue: Double): TEXImage
Setzt den Kontrast des Bildes auf den neuen Wert (NewValue).
Rotate(Angle: Double; Crop: Boolean): TEXImage
Rotiert das Bild zentriert um den angegebenen Winkel (Angle) und schneidet evtl. entstehende Überlappungen ab (Crop).
Blur(Radius: Double): TEXImage
Zeichnet das Bild mit dem übergebenen Radius weich.
Reflect(Percentage: Integer): TEXImage
Erzeugt eine Reflektion (oder Spiegelung) unterhalb des Bildes in der übergeben Stärke (Percentage).
Crop(Left, Top, Right, Bottom: Integer): TEXImage
Schneidet das Bild in die übergebenen Maße (links - oben - rechts - unten).
CropTop(Pixels: Integer): TEXImage
Schneided das Bild von oben ab.
CropBottom(Pixels: Integer): TEXImage
Schneided das Bild von unten ab.
Round(Width, Height: Integer): TEXImage
Erzeugt Rundungen an den vier Eckes des Bildes mit den übergebenen Werten für Breite (Width) und Höhe (Height).
Sharpen(Intensity: Integer): TEXImage
Schärft das Bild in der übergebenen Stärke (Intensitiy).
UnsharpMask(Radius, Amount: Double): TEXImage
Wendet eine Unschärfe-Maske mit dem übergebenen Radius (Radius) und der Stärke (Amount) an.
AutoSharp: TEXImage
Wendet einen automatischen Schärfe-Filter auf das Bild an.
Sketch: TEXImage
Wandelt das Bild in eine Bleistiftzeichnung um.
CreateShadow(Intensity: Double): TEXImage
Erzeugt einen Schlagschatten in der übergebenen Stärke (Intensity).
CreateBorder(Size: Integer): TEXimage
Erzeugt einen äußeren Rahmen in schwarzer Farbe in der übergebenen Stärke (Intensity).
RemoveColor(AColor: TColor): TEXImage
Entfernt die Farbe (AColor) und erzeugt (bei einem kompatiblen Grafikformat) entsprechende Transparenzen.
ICO: TEXICOFormats
Erlaubt das Anlegen zusätzlicher Formate bzw. Bilder (Breite, Höhe, Bits) innerhalb einer ICO-Datei (siehe Beispiel).
Beispiele
Bild im JPG-Format laden und im PNG-Format abspeichern:
EXImage.Load('c:\Testbild.jpg').SaveToFormat('c:\Testbild.png', ifPNG);
EXImage.Load('c:\Testbild.jpg').SaveTo('c:\Testbild.png');
Bild laden, auf 32x32 Pixel verkleinern und wieder abspeichern.
EXImage.Load('c:\Testbild.jpg').Resample(32, 32).Save;
Icon laden, Schlagschatten und Reflektion hinzufügen und als PNG-Bild abspeichern:
EXImage.Load('c:\Testbild.ico').CreateShadow(4.00).Reflect(50).SaveTo('c:\Testbild.png');
Bild im PNG-Format laden, drei Auflösungen erstellen und als Icon speichern:
EXImage
.Load('c:\Testbild.png')
.ICO.AddFormat(64, 64, 4)
.ICO.AddFormat(24, 24, 4)
.ICO.AddFormat(16, 16, 4)
.SaveTo('c:\Testbild.ico');
EXImage.Load('c:\Testbild.jpg').SaveToFormat('c:\Testbild.png', ifPNG);
EXImage.Load('c:\Testbild.jpg').SaveTo('c:\Testbild.png');
Bild laden, auf 32x32 Pixel verkleinern und wieder abspeichern.
EXImage.Load('c:\Testbild.jpg').Resample(32, 32).Save;
Icon laden, Schlagschatten und Reflektion hinzufügen und als PNG-Bild abspeichern:
EXImage.Load('c:\Testbild.ico').CreateShadow(4.00).Reflect(50).SaveTo('c:\Testbild.png');
Bild im PNG-Format laden, drei Auflösungen erstellen und als Icon speichern:
EXImage
.Load('c:\Testbild.png')
.ICO.AddFormat(64, 64, 4)
.ICO.AddFormat(24, 24, 4)
.ICO.AddFormat(16, 16, 4)
.SaveTo('c:\Testbild.ico');