BLEND2D هو محرك رسومات متجه ثنائي الأداء عالي الأداء. تمت كتابته من الصفر بهدف تحقيق أفضل تسارع ممكن على أساس البرمجيات. يوفر Blend2D نقطية تحليلية عالية الجودة ، ومحرك تمسيد جديد يستخدم منحنى الإزاحة بدلاً من التسطيح ، ومولد خط أنابيب ثنائي الأبعاد يستخدم مجموعة JIT لتوليد خطوط أنابيب ثنائية الأبعاد مثالية في وقت التشغيل.
Delphiblend2d يفتح OP blend2d لمطوري Delphi. يوفر ترجمات الرأس لبرنامج BLEND2D C API ، بالإضافة إلى إطار موجه نحو الكائن لتسهيل الاستخدام.
لاحظ أن blend2d (وبالتالي delphiblend2d) لا يزال في بيتا. API والإطار عرضة للتغيير.
يدعم Delphiblend2d حاليًا Windows (32 و 64 بت). يتم التخطيط لدعم MacOS و iOS و Android للإصدارات المستقبلية.
لم يتم تحسين مكتبات BLEND2D التي يتم استخدامها حاليًا تمامًا بعد. على الرغم من أن الأداء ممتاز بالفعل ، توقع أداء أفضل بمجرد خروج BLEND2D من الإصدار التجريبي.
يتبع Framework delphiblend2d OOP API BLEND2D C ++ بأكبر قدر ممكن. ويستخدم واجهات لإدارة الموارد التلقائية. المقتطف أدناه مأخوذ من مشروع عينة blGettingStarted05 .
procedure Run ;
var
Image: IBLImage;
Context: IBLContext;
Radial, Linear: IBLGradient;
Codec: IBLImageCodec;
begin
Image := TBLImage.Create( 480 , 480 );
Context := TBLContext.Create(Image);
Context.CompOp := TBLCompOp.SrcCopy;
Context.FillAll;
{ First shape filled by a radial gradient. }
Radial := TBLGradient.Create(BLRadialGradientValues( 180 , 180 , 180 , 180 , 180 ));
Radial.AddStop( 0.0 , BLRgba32($FFFFFFFF));
Radial.AddStop( 1.0 , BLRgba32($FFFF6F3F));
Context.CompOp := TBLCompOp.SrcOver;
Context.SetFillStyle(Radial);
Context.FillCircle( 180 , 180 , 160 );
{ Second shape filled by a linear gradient. }
Linear := TBLGradient.Create(BLLinearGradientValues( 195 , 195 , 470 , 470 ));
Linear.AddStop( 0.0 , BLRgba32($FFFFFFFF));
Linear.AddStop( 1.0 , BLRgba32($FF3F9FFF));
Context.CompOp := TBLCompOp.Difference;
Context.SetFillStyle(Linear);
Context.FillRoundRect( 195 , 195 , 270 , 270 , 25 );
Context.Finish;
Codec := TBLImageCodec.Create;
if (Codec.FindByName( ' BMP ' )) then
Image.WriteToFile( ' blGettingStarted05.bmp ' , Codec);
end ;يخلق الإخراج التالي:

يمكن العثور على الوثائق حاليًا كتعليقات رمز في وحدة Blend2D.pas . سيتم توفير وثائق منفصلة بمجرد خروج BLEND2D من بيتا.
نظرًا لأن الإطار يتطابق مع واجهة برمجة تطبيقات C ++ الأصلية حيثما أمكن ، يمكنك أيضًا استخدام وثائق BLEND2D الأصلية.
يأتي Delphiblend2d مع مجموعة متنوعة من تطبيقات العينات التي تتطابق مع تطبيقات العينة الأصلية لـ blend2d:
SamplesGettingStarted على تطبيقات وحدة التحكم التي تستخدم delphiblend2d لإنشاء صور وحفظها على ملفات .BMP . هذه العينات لا تستخدم إطار VCL أو Firemonkey.SamplesFireMonkey على عينات تستخدم إطار عمل Firemonkey لتوفير واجهة مستخدم بسيطة. هذه تتطابق مع أمثلة blend2d الأصلية التي تستخدم إطار QT. تتيح لك معظم هذه التطبيقات التبديل بين عرض Firemonkey المدمج وتقديم مزج 2d. حاليًا ، تعمل هذه العينات فقط على Windows و MacOS. تشمل الميزات المخطط لها للإصدارات المستقبلية:
TPaintBox مثل VCL و FireMonkey الذي يعرض باستخدام BLEND42 بدلاً من ذلك.يتم إصدار كل من BLEND2D و Delphiblend2d بموجب ترخيص ZLIB. انظر الترخيص. txt للحصول على التفاصيل.