Blend2d는 고성능 2D 벡터 그래픽 엔진입니다. 2D 렌더링의 최상의 소프트웨어 기반 가속도를 달성하기 위해 처음부터 작성되었습니다. Blend2d는 고품질 분석 레스터 라이저, 평평한 대신 곡선 오프셋을 사용하는 새로운 스트로킹 엔진 및 JIT 컴파일을 사용하여 런타임에 최적의 2D 파이프 라인을 생성하는 2D 파이프 라인 생성기를 제공합니다.
Delphiblend2d는 Delphi 개발자를 위해 OP Blend2D를 열었습니다. Blend2d C API에 대한 헤더 변환뿐만 아니라 사용하기 쉽도록 객체 지향 프레임 워크를 제공합니다.
Blend2d (따라서 delphiblend2d)는 여전히 베타에 있습니다. API와 프레임 워크는 변경 될 수 있습니다.
Delphiblend2d는 현재 Windows (32 및 64 비트)를 지원합니다. MACOS, iOS 및 Android에 대한 지원은 향후 버전을 위해 계획되어 있습니다.
현재 사용중인 Blend2D 라이브러리는 아직 완전히 최적화되지 않았습니다. 성능은 이미 우수하지만 Blend2D가 베타에서 벗어나면 더 나은 성능을 기대하십시오.
Delphiblend2d OOP 프레임 워크는 가능한 한 밀접하게 Blend2d C ++ API를 따릅니다. 자동 리소스 관리를 위해 인터페이스를 사용합니다. 아래 스 니펫은 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 ++ API와 일치하므로 원래 Blend2D 문서를 사용할 수도 있습니다.
Delphiblend2d는 Blend2d의 원래 샘플 응용 프로그램과 일치하는 다양한 샘플 응용 프로그램이 함께 제공됩니다.
SamplesGettingStarted Directory에는 Delphiblend2d를 사용하여 이미지를 만들고 .BMP 파일에 저장하는 콘솔 응용 프로그램이 포함되어 있습니다. 이 샘플은 VCL 또는 Firemonkey 프레임 워크를 사용하지 않습니다.SamplesFireMonkey 디렉토리에는 Firemonkey 프레임 워크를 사용하여 간단한 UI를 제공하는 샘플이 포함되어 있습니다. QT 프레임 워크를 사용하는 원래 Blend2d 예제와 일치합니다. 이러한 응용 프로그램의 대부분을 사용하면 내장 Firemonkey 렌더링과 Blend2D 렌더링을 전환 할 수 있습니다. 현재이 샘플은 Windows 및 MacOS에서만 작동합니다. 향후 릴리스를 위해 계획된 기능은 다음과 같습니다.
TPaintBox 유사 컨트롤을 제공하십시오.Blend2d 및 Delphiblend2d는 Zlib 라이센스에 따라 릴리스됩니다. 자세한 내용은 License.txt를 참조하십시오.