This example effect chart:
Code files:Unit Unit1;
Interface
Uses
Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,
Dialogs, Comctrls, Stdctrls, Extctrls;
Type
TForm1 = Class (Tform)
Panel1:tpanel;
Button1:tbutton;
Trackbar1:ttrackbar;
Trackbar2:ttrackbar;
Trackbar3:ttrackbar;
Trackbar4:ttrackbar;
Trackbar5:ttrackbar;
Trackbar6:ttrackbar;
Paintbox1:tpaintbox;
Procedure Formcreate (Sender:tobject);
Procedure Trackbar1change (Sender:tobject);
Procedure Trackbar2change (Sender:tobject);
Procedure Trackbar3change (Sender:tobject);
Procedure Trackbar4change (Sender:tobject);
Procedure Trackbar5change (Sender:tobject);
Procedure Trackbar6change (Sender:tobject);
Procedure Paintbox1paint (Sender:tobject);
End
Var
Form1:tform1;
Implementation
{$R *.DFM}
Uses Gdipobj, GDIPAPI;
Procedure Tform1.formcreate (Sender:tobject);
Const
n = 40;
Begin
Trackbar1.min: =-N;
Trackbar1.max: = n;
Trackbar2.min: =-N;
Trackbar2.max: = n;
Trackbar3.min: =-N;
Trackbar3.max: = n;
Trackbar4.min: =-N;
Trackbar4.max: = n;
Trackbar5.min: =-N;
Trackbar5.max: = n;
Trackbar6.min: =-N;
Trackbar6.max: = n;
Trackbar1.position: = 10;
Trackbar2.position: = 0;
Trackbar3.position: = 0;
Trackbar4.position: = 10;
Trackbar5.position: = 0;
Trackbar6.position: = 0;
Button1.onclick: = formcreate;
End
Procedure Tform1.paintbox1paint (Sender:tobject);
Var
G:tgpgraphics;
P:tgppen;
B:tgpbrush;
Path:tgpgraphicspath;
Matrix:tgpmatrix;
fontfamily:tgpfontfamily;
Stringformat:tgpstringformat;
Rect:tgprect;
Begin
Rect: = Makerect (20, 20, 180, 120);
G: = Tgpgraphics.create (PaintBox1.Canvas.Handle);
P: = Tgppen.create (Aclyellowgreen, 1);
B: = Tgphatchbrush.create (Hatchstylesmallgrid, Aclsilver, Aclyellowgreen);
FontFamily: = Tgpfontfamily.create (' Arial black ');
StringFormat: = tgpstringformat.create;
Stringformat.setalignment (Stringalignmentcenter);
Stringformat.setlinealignment (Stringalignmentcenter);
Path: = Tgpgraphicspath.create;
Path. AddRectangle (rect);
Path. AddEllipse (rect);
Path. AddString (' ABC ',-1, fontFamily, Fontstyleregular, rect, StringFormat);
Matrix: = Tgpmatrix.create;
Matrix. Setelements (TRACKBAR1.POSITION/10,
TRACKBAR2.POSITION/10,
TRACKBAR3.POSITION/10,
TRACKBAR4.POSITION/10,
Trackbar5.position * 10,
Trackbar6.position * 10);
Path. Transform (matrix);
G.fillpath (b, Path);
G.drawpath (P, path);
Path. Free;
Stringformat.free;
Fontfamily.free;
B.free;
P.free;
G.free;
End
Procedure Tform1.trackbar1change (Sender:tobject);
Begin
Paintbox1.repaint;
End
Procedure Tform1.trackbar2change (Sender:tobject);
Begin
Paintbox1.repaint;
End
Procedure Tform1.trackbar3change (Sender:tobject);
Begin
Paintbox1.repaint;
End
Procedure Tform1.trackbar4change (Sender:tobject);
Begin
Paintbox1.repaint;
End
Procedure Tform1.trackbar5change (Sender:tobject);
Begin
Paintbox1.repaint;
End
Procedure Tform1.trackbar6change (Sender:tobject);
Begin
Paintbox1.repaint;
End
End.