مكتبة Igdiplus المعدلة لـ Lazarus و Codetyphon و Delphi.
مكتبة المصدر المجانية والمفتوحة لـ Delphi. يسمح بتطبيقات سريعة وسهلة لتطبيقات GDI+ المعقدة ، في رمز سهل الاستخدام.
المؤلف: Boian Mitov
الصفحة الرئيسية: http://mitov.com/products/igdi+#overview
http://mitov.com/products/igdi+#license
يتم توفير هذا البرنامج "AS-IS" ، دون أي ضمان صريح أو ضمني. لن يتحمل المؤلف بأي حال من الأحوال مسؤولية أي أضرار تنشأ عن استخدام هذا البرنامج.
يتم منح الإذن لأي شخص لاستخدام هذا البرنامج لأي غرض ، بما في ذلك التطبيقات التجارية ، وتغييره وإعادة توزيعه بحرية ، مع مراعاة القيود التالية:
يجب عدم تمثيل أصل هذا البرنامج ، يجب ألا تدعي أنك كتبت البرنامج الأصلي. إذا كنت تستخدم هذا البرنامج في منتج ما ، فسيكون موضع تقدير إقرار في وثائق المنتج ولكن ليس مطلوبًا.
يجب تمييز إصدارات المصدر المتغيرة بشكل واضح على هذا النحو ، ويجب عدم تمثيلها كبرنامج أصلي.
لا يجوز إزالة هذا الإشعار أو تغييره من أي توزيع مصدر.
يمكنك أن تفعل مع الكود الخاص بي كل ما تريد دون أي تكلفة ودون أي قيود.
IGDIPlusHelpers.pas ، IGDIPlusAPI_FPC.inc ، IGDIPlusAPI_DCC.inc .تطبيق Igdiplus التجريبي الأصلي تم تجميعه مع Lazarus.

عرض إضافي - عجلة ملونة

العرض التوضيحي 1 الإجراء الرئيسي.
procedure TForm1.FormPaint (Sender: TObject);
var
AGraphics : IGPGraphics;
AFont : IGPFont;
ALeftTopCorner : TPointF;
ARect : TIGPRectF;
ARect1 : TIGPRectF;
APath : IGPGraphicsPath;
begin
AGraphics := TIGPGraphics.Create( Canvas );
AGraphics.SmoothingMode := SmoothingModeAntiAlias;
AGraphics.TextRenderingHint := TextRenderingHintAntiAlias;
ALeftTopCorner := TPointF.Create( 20 , 20 );
AFont := TIGPFont.Create( ' Microsoft Sans Serif ' , 40 , [ fsBold ] );
ARect := AGraphics.GetStringBoundingBoxF( ' Welcome to IGDI+ ' , AFont, ALeftTopCorner );
ARect1 := GPInflateRectF( ARect, 10 , 10 );
// Draw a fancy rounded rectangle.
AGraphics.DrawRoundRectangleF(
TIGPPen.Create( TIGPLinearGradientBrush.Create( GPInflateRectF( ARect1, 2 , 2 ), aclRed, aclBlue, LinearGradientModeVertical ), 4 ),
TIGPPathGradientBrush.Create(
TIGPGraphicsPath.Create().AddRoundRectangleF( ARect1, TIGPSizeF.Create( 20 , 20 ) )
)
.SetInterpolationColorArrays( [ aclGreen, aclCyan, aclYellow ], [ 0 , 0.3 , 1 ] )
.SetCenterPointF( TPointF.Create( 250 , 50 ))
.SetFocusScales( 0.87 , 0.2 ),
ARect1, TIGPSizeF.Create( 20 , 20 ) );
// Draw a text with semitransparent shadow.
AGraphics.DrawStringF( ' Welcome to IGDI+ ' ,
AFont,
TPointF.Create( 23 , 23 ),
TIGPSolidBrush.Create( MakeARGBColor( 50 , aclBlack )) )
.DrawStringF( ' Welcome to IGDI+ ' ,
AFont,
ALeftTopCorner,
TIGPLinearGradientBrush.Create( ARect, aclRed, aclBlue, LinearGradientModeForwardDiagonal ));
// Draw a closed curve.
AGraphics.DrawClosedCurveF( TIGPPen.Create( aclRed, 3 ), TIGPSolidBrush.Create( aclBlue ),
[
TPointF.Create( 60 , 160 ),
TPointF.Create( 150 , 180 ),
TPointF.Create( 200 , 140 ),
TPointF.Create( 180 , 220 ),
TPointF.Create( 120 , 200 ),
TPointF.Create( 80 , 260 )
] );
// Draw a semitransparent star.
APath := TIGPGraphicsPath.Create();
APath.AddLinesF(
[
TPointF.Create( 75 , 0 ),
TPointF.Create( 100 , 50 ),
TPointF.Create( 150 , 50 ),
TPointF.Create( 112 , 75 ),
TPointF.Create( 150 , 150 ),
TPointF.Create( 75 , 100 ),
TPointF.Create( 0 , 150 ),
TPointF.Create( 37 , 75 ),
TPointF.Create( 0 , 50 ),
TPointF.Create( 50 , 50 )
] );
AGraphics.TranslateTransform( 420 , 30 )
.FillPath(
TIGPPathGradientBrush.Create( APath )
.SetCenterColor( MakeColor( 200 , 255 , 0 , 0 ))
.SetSurroundColors(
[
MakeColor( 80 , 0 , 0 , 0 ),
MakeColor( 80 , 0 , 255 , 0 ),
MakeColor( 80 , 0 , 0 , 255 ),
MakeColor( 80 , 255 , 255 , 255 ),
MakeColor( 80 , 0 , 0 , 0 ),
MakeColor( 80 , 0 , 255 , 0 ),
MakeColor( 80 , 0 , 0 , 255 ),
MakeColor( 80 , 255 , 255 , 255 ),
MakeColor( 80 , 0 , 0 , 0 ),
MakeColor( 80 , 0 , 255 , 0 )
] ),
APath );
// Draw rotated ellipse.
AGraphics.ResetTransform()
.TranslateTransform( 300 , 160 )
.RotateTransform( 30 )
.DrawEllipseF(
TIGPPen.Create( aclRed, 3 ),
TIGPLinearGradientBrush.Create( TPointF.Create( 0 , 0 ), TPointF.Create( 20 , 20 ), aclYellow, aclGreen )
.SetWrapMode( WrapModeTileFlipX ),
0 , 0 , 200 , 80 );
end ; في دليل الحزم ، ستجد حزم لـ Delphi XE2 - 10.3 Rio. قم بتثبيت الحزمة المناسبة (ملف DPK) ، ثم في خيارات IDE ، أضف إلى دليل مسار المكتبة مع ملف IGDIPlus.pas .
لديك خياران:
packagesLazaruslazigdiplus.lpk .LazIGDIPlus إلى الحزم المطلوبة .IGDIPlus.pas إلى خيارات المترجم -> مسارات -> ملفات وحدة أخرى . تابع كما في حالة Lazarus ، فقط الملف الذي يحتوي على حزمة التثبيت هو packagesCodeTyphonlazigdiplus.ctpkg .
23.01.2020
Delphi XE2 و XE3 دعم.
حزم إضافية لـ Delphi Xe2 - 10.3 Rio.
تمت إضافة العرض التجريبي الرئيسي لـ XE2 ، وعروض عجلة الألوان لـ XE2 و XE7.
IgDiplushelpers: بعض إجراءات المساعدة المتعلقة بتحويل Hatchstyle.
19.01.2020
حزم مضافة لـ Lazarus و Codetyphon.
15.01.2020
الإصدار الأولي مع دعم Pascal المجاني.