Blend2D adalah mesin grafis vektor 2D berkinerja tinggi. Itu ditulis dari awal dengan tujuan untuk mencapai akselerasi rendering 2D berbasis perangkat lunak terbaik. Blend2D menyediakan rasterizer analitik berkualitas tinggi, mesin membelai baru yang menggunakan kurva offsetting alih-alih meratakan, dan generator pipa 2D yang menggunakan kompilasi JIT untuk menghasilkan pipa 2D optimal saat runtime.
Delphiblend2D membuka op blend2d untuk pengembang Delphi. Ini memberikan terjemahan header untuk API Blend2D C, serta kerangka kerja berorientasi objek untuk membuatnya lebih mudah digunakan.
Perhatikan bahwa Blend2D (dan dengan demikian Delphiblend2D) masih dalam beta. API dan kerangka kerja dapat berubah.
Delphiblend2D saat ini mendukung Windows (32 dan 64-bit). Dukungan untuk MacOS, iOS dan Android direncanakan untuk versi mendatang.
Perpustakaan Blend2D yang saat ini digunakan belum sepenuhnya dioptimalkan. Meskipun kinerja sudah sangat baik, harapkan kinerja yang lebih baik setelah Blend2D keluar dari beta.
Kerangka kerja Delphiblend2D OOP mengikuti Blend2D C ++ API sedekat mungkin. Ini menggunakan antarmuka untuk manajemen sumber daya otomatis. Cuplikan di bawah ini diambil dari proyek sampel 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 ;Ini menciptakan output berikut:

Dokumentasi saat ini dapat ditemukan sebagai komentar kode di unit Blend2D.pas . Dokumentasi terpisah akan disediakan setelah Blend2D keluar dari beta.
Karena kerangka kerja cocok dengan C ++ API asli jika memungkinkan, Anda juga dapat menggunakan dokumentasi Blend2D asli.
Delphiblend2D hadir dengan berbagai aplikasi sampel yang cocok dengan aplikasi sampel asli Blend2D:
SamplesGettingStarted berisi aplikasi konsol yang menggunakan delphiblend2d untuk membuat gambar dan menyimpannya ke file .BMP . Sampel -sampel ini tidak menggunakan kerangka kerja VCL atau Firemonkey.SamplesFireMonkey berisi sampel yang menggunakan kerangka firemonkey untuk menyediakan UI sederhana. Ini cocok dengan contoh blend2d asli yang menggunakan kerangka kerja QT. Sebagian besar aplikasi ini memungkinkan Anda untuk beralih antara rendering firemonkey bawaan dan rendering blend2D. Saat ini, sampel ini hanya berfungsi pada Windows dan MacOS. Fitur yang direncanakan untuk rilis di masa mendatang meliputi:
TPaintBox untuk VCL dan Firemonkey yang membuat menggunakan Blend42 sebagai gantinya.Baik Blend2D dan Delphiblend2D dirilis di bawah lisensi Zlib. Lihat lisensi.txt untuk detailnya.