
مكتبة Delphi لتبسيط تحميل/حفظ وتحويل وتحويل. يمكن تحميل/حفظ PNG و JPG و JXL و WebP و AVIF و TIFF و GIF و BMP. يمكن الحصول على صورة من موارد مختلفة: الملف ، الدفق ، HTTP ، ImageList ، أيقونة Windows المرتبطة ، أيقونة الملفات القابلة للتنفيذ ، إلخ ... تدوير ، Flip ، Grayscale والعديد من التحولات الأخرى. GDI+، Graphics32 ، OpenCV ، Vampyre و Libvips محركات متوفرة.
يرجى "نجمة" هذا المشروع في جيثب! لا يكلف شيئًا سوى الرجوع إلى الرمز. 
إذا وجدت هذا المشروع مفيدًا ، فيرجى التفكير في تقديم التبرع.
*جديد: دعم دلفي 12 أثينا
*جديد: تمت إضافة محرك Libvips
*جديد: واجهة على أساس
*جديد: تمت إضافة محرك Lib Vampyre
*جديد: تم إضافة وظائف جديدة
*جديد: فئات إعادة الطعن
*جديد: دعم دلفينوس
يمكنك تحديد واحد أو أكثر من دعم المحركات المتاحة ImageFx. أضف واحدًا أو أكثر من الوحدات أدناه إلى شرط استخداماتك:
Quick.Imagefx.gdi: يستخدم محرك GDI+. لا احتياجات مكتبات خارجية لكنها بطيئة.
المكتبات اللازمة:
Quick.Imagefx.gr32: يستخدم محرك Graphics32 للتدوير والتحويل والتغيير حجمه وما إلى ذلك
المكتبات اللازمة:
Quick.Imagefx.opencv: محرك OpenCV. يستخدم حزب Thrid Delphi Warper لمكتبة Intel Open Vision. إنه سريع للغاية وقوي. يحتاج OpenCV الخارجي DLL في مشروع DIR الخاص بك.
المكتبات اللازمة:
Quick.Imagefx.vampyre: محرك مكتبة تصوير Vampyre. يستخدم حزب Thrid Delphi Warper لمكتبة تصوير Vampyre. بسرعة ويدعم العديد من تنسيقات الصور.
المكتبات اللازمة:
Quick.Imagefx.vips: محرك مكتبة Libvips. يستخدم حزب Thrid Delphi Warper لمكتبة Libvips. Ultra Fast ويدعم العديد من تنسيقات الصور مثل WebP و AVIF و JXL ، إلخ.
المكتبات اللازمة:
إنشاء: إنشاء مثيل من ImageFX لتحميل/معالجة الصور.
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 ;تحميل/حفظ: يمكن تحميل/حفظ PNG و JPG و GIF و BMP والحصول على صورة من موارد مختلفة مثل الملف ، الدفق ، HTTP ، ImageList ، أيقونة Windows المرتبطة ، أيقونة الملف القابلة للتنفيذ ، إلخ ...
// 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);معلومات الصورة: الحصول على دقة ، نسبة العرض إلى الارتفاع للصورة.
ImageFX.GetResolution(x,y)
ImageFX.AspectRatioStr // aspect ratio (4:3,16:9)
ImageFX.IsGrayتغيير حجم الصورة:
// 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 );تغييرات:
Nomagnify: إذا لم يتم تغيير حجم الصورة إذا كان أصغر من حجم جديد.
Resizemode: تغيير حجم الخوارزميات لحساب الحجم النهائي المطلوب:
Resamplermode: تغيير حجم الخوارزميات المراد تطبيقها:
المركز: مراكز الصورة
FillBorders: ملء حدود صورة مقاس في مستطيل الوجهة إذا كانت أصغر.
الحدود: لون حدود ملء.
التحويلات: تطبيق التناوب ، تقلبات ، تأثيرات على خط المسح ، تحولات مشرق وغيرها على صورك.
// 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 );تحويلات التنسيق: يمكن تحويل بين تنسيقات الصور.
ImageFX.LoadFromFile( ' .myfile.jpg ' );
ImageFX.SaveAsPNG( ' .myfile.png ' );تعود جميع الوظائف تقريبًا إلى الطبقة الذاتية ، بحيث يمكنك سلسلة من الإجراءات وتأثيرات مثل هذا:
// 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);هل تريد تعلم دلفي أو تحسين مهاراتك؟ LearnDelphi.org