
Delphi -Bibliothek zur Vereinfachung der Bildlast/Speichern, Konvertierung und Transformation. Kann PNG, JPG, JXL, Webp, AVIF, TIFF, GIF und BMP laden/speichern. Kann Bild aus verschiedenen Ressourcen abrufen: Datei, Stream, HTTP, Imagelist, zugehörige Windows -Symbol, ausführbares Dateisymbol usw. drehen, Flip, Graustufen und viele andere Transformationen. GDI+, Graphics32, OpenCV-, Vampyre- und Libvips -Motoren verfügbar.
Bitte "Star" dieses Projekt in GitHub! Es kostet nichts anderes, als auf den Code zu verweisen. 
Wenn Sie dieses Projekt nützlich finden, erwägen Sie bitte eine Spende.
*Neu: Delphi 12 Athens Unterstützung
*Neu: libvips Motor hinzugefügt
*NEU: Schnittstellenbasierte
*Neu: Vampyre Lib Engine hinzugefügt
*Neu: Neue Funktionen hinzugefügt
*Neu: Neuauflagenklassen
*Neu: Delphinus -Unterstützung
Sie können einen oder mehrere der verfügbaren Motoren imageFX -Unterstützung auswählen. Fügen Sie Ihrer Verwendungsklausel eine oder mehrere der folgenden Einheiten hinzu:
Quick.imagefx.gdi: Verwendet GDI+ Engine. Keine Bedürfnisse externer Bibliotheken, aber es ist langsam.
Benötigte Bibliotheken:
Quick.imagefx.gr32: Verwendet Graphics32 Engine, um sich zu drehen, zu transformieren, die Größe zu ändern, usw.
Benötigte Bibliotheken:
Quick.imagefx.OpenCV: OpenCV -Motor. Verwendet eine Thrid Party Delphi Warper für die Intel Open Vision Library. Es ist sehr schnell und mächtig. Benötigt openCV externe DLLs in Ihrem Projekt Dir.
Benötigte Bibliotheken:
Quick.imagefx.Vampyre: Vampyre Imaging Library Engine. Verwendet eine Thrid Party Delphi Warper für die Vampyre Imaging Native Library. Schnell und unterstützt viele Bildformate.
Benötigte Bibliotheken:
Quick.imagefx.VIPS: Libvips Imaging Library Engine. Verwendet eine Thrid Party Delphi Warper für die Bibliothek Libvips. Ultra schnell und unterstützt viele Bildformate wie WebP, Avif, JXL usw.
Benötigte Bibliotheken:
Erstellen: Erstellen Sie die Instanz von ImageFX, um Bilder zu laden/zu manipulieren.
var
ImageFX : IImageFX;
begin
ImageFX := TImageFXGDI // You can create as TImageFXGDI, TImageFXGR32, TImageFXOpenCV or TImageFXVampyre to use different graphic engines
ImageFX.LoadFromFile( ' .test.jpg ' );
ImageFX.Rotate90;
ImageFX.SaveAsPNG( ' .Test.png ' );
end ;Laden/Speichern: Kann PNG, JPG, GIF und BMP laden/speichern und Bild aus verschiedenen Ressourcen wie Datei, Stream, HTTP, Imagelist, zugeordnetem Windows -Symbol, ausführbares Dateisymbol usw. abrufen.
// Load image from files like jpg, gif, png and bmp
ImageFX.LoadFromFile( ' .file.jpg ' );
// Load/Save image from/to a memorystream, filestream, etc...
ImageFX.LoadFromStream(MyStream);
ImageFX.SaveToStream(MyStream,ifJPG);
// Load image from an icon class
ImageFX.LoadFromIcon(MyIcon);
// Load image from an icon file
ImageFX.LoadFromFileIcon( ' .file.ico ' );
// Get image associated in windows with this type of extension
ImageFX.LoadFromFileExtension( ' .file.xls ' ,True);
// Load from exe resource
ImageFX.LoadFromResource( ' Main.ico ' );
// Get image from a http link
ImageFX.LoadFromHTTP( ' http://www.mysite.com/file.jpg ' ,ReturnHTTPCode,True);
// Load/Save from string
ImageFX.LoadFromString(MyImageString);
ImageFX.SaveToString(MyImageString);Bildinfo: Auflösen und Seitenverhältnis eines Bildes erhalten.
ImageFX.GetResolution(x,y)
ImageFX.AspectRatioStr // aspect ratio (4:3,16:9)
ImageFX.IsGrayBildänderung:
// Resize image to fit max bounds of 500x300 and fills rest of target size with a border black color
ImageFX.ResizeOptions.BorderColor := clBlack;
ImageFX.Resize( 500 , 300 , rmFitToBounds, [rfCenter], rmLinear);
// Same image resize alternative/advanced mode
ImageFX.ResizeOptions.ResamplerMode := rmLinear;
ImageFX.ResizeOptions.ResizeMode := rmFitToBounds;
ImageFX.ResizeOptions.Center := True;
ImageFX.ResizeOptions.FillBorders := True;
ImageFX.ResizeOptions.BorderColor := clBlack;
ImageFX.Resize( 500 , 300 );Größenregelungen:
Nomagnify: Wenn das Bild nicht wahr ist, wenn das Bild nicht die Größe als besondere neue Größe verändert.
Resizemode: Größe der Größe Algorithmen zur Berechnung der gewünschten endgültigen Größe:
ResamPleMode: Größen Sie die Größe der Größe, die Algorithmen angewendet werden sollen:
Zentrum: Zentren Bild
FILLBORDERS: Füllen Sie die Grenzen eines skalierten Bildes im Zielrechteck, falls kleiner.
BorderColor: Farbe der Füllgrenzen.
Transformationen: Wenden Sie Rotationen, Flips, Scanline -Effekte, hell und andere Transformationen auf Ihre Bilder an.
// Rotate image 90 degrees
ImageFX.Rotate90;
// Rotate image 45 degrees
ImageFX.RotateAngle( 45 );
// Convert to grayscale
ImageFX.GrayScale;
// Flip image horizontally
ImageFX.FlipX;
// Increase bright by 50%
ImageFX.Lighten( 50 );
// Change color of a pixel
PixInfo.R := Random( 255 ); // R
PixInfo.G := Random( 255 ); // G
PixInfo.B := Random( 120 ); // B
PixInfo.A := 200 ; // Alpha
imageFX.Pixel[x,y] := PixInfo;
// Draw an overlay image over current image with 50% transparency
ImageFX.DrawCentered(pngimage, 0.5 );Formatkonvertierungen: Kann zwischen Bildformaten konvertieren.
ImageFX.LoadFromFile( ' .myfile.jpg ' );
ImageFX.SaveAsPNG( ' .myfile.png ' );Fast alle Funktionen geben die Selbstklasse zurück, sodass Sie viele Aktionen und Effekte wie diese anketten können:
// Rotate 90 degrees and flip horizontally, convert to grayscale and save to a png file.
ImageFX.Rotate90.FlipX.GrayScale.SaveToPNG( ' .myfile.png ' );
// Load from file, rotate180, resize to 100x100 and assign to a TImage.
MyImage.Picture.Asssign(ImageFX.LoadFromFile( ' .myfile.jpg ' ).Rotate180.Resize( 100 , 100 ).AsBitmap);Möchten Sie Delphi lernen oder Ihre Fähigkeiten verbessern? Learndelphi.org