Первый выпуск GDI+ TCanvas

Выпустил в свет первую версию GDI+ TCanvas.

На гит не стал выкладывать, т.к. в коде комментариев хоть и много, но исключительно на русском. Так много, что при мысли о переводе сразу очень хочется кушать и немедленно образуется множество неотложных дел.

А по правилам хорошего тона, должно быть на английском.

Является наследником TCanvas, имеет все те же свойства и методы, но умеет рисовать, используя возможности GDI+.

На каждое свойство, есть дубль, заточенный под GDI+. Свойство Pen имеет дубль IPPen, Brush – IPBrash, Font — IPFont. Свойства дублей синхронизированы. Глупо упускать возможности GDI+, поэтому IP-свойства, помимо стандартных, обладают намного большим кругом возможностей.

Режим антиалиаса включается вызовом SetAntiAlias, отключение ResetAntiAlias.

Режим GDI/GDI+ можно переключать «на ходу», внутри одного программного блока, используя свойство UseStandartGDI. Если «красоты» не нужны, то лучше использовать стандартный GDI.

Следующие методы в зависимости от состояния флага UseStandartGDI, будут работать либо стандартным для TCanvas образом, либо используя GDI+.

procedure MoveTo(X, Y: Integer);
procedure LineTo(X, Y: Integer);
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
procedure Rectangle(X1, Y1, X2, Y2: Integer);
procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
procedure FillRect(const Rect: TRect);
procedure Ellipse(X1, Y1, X2, Y2: Integer);
procedure Polygon(const Points: array of TPoint);
procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);
procedure TextRect(var Rect: TRect; var Text: string; 
                   TextFormat: TTextFormat = []);
procedure TextOut (x,y : Integer; const Text : string);

Документации пока не написал, поэтому лучше смотреть примеры и исходники, которые просто перегружены комментариями.

Подробнее и скачать

Обновления не за горами.

При написании активно использовал книгу Д. Осипов — Графика в проектах Delphi. В коде есть немало комментариев, текст которых беззастенчиво выдран из нее.