123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- {$mode objfpc}{$h+}
- program Drawing;
- uses classes, sysutils,
- FPImage, FPCanvas, FPImgCanv, ftFont,
- FPWritePNG, FPReadPNG;
- const
- MyColor : TFPColor = (Red: $7FFF; Green: $0000; Blue: $FFFF; Alpha: alphaOpaque);
- procedure DoDraw;
- var canvas : TFPcustomCAnvas;
- ci, image : TFPCustomImage;
- writer : TFPCustomImageWriter;
- reader : TFPCustomImageReader;
- f : TFreeTypeFont;
- begin
- image := TFPMemoryImage.Create (100,100);
- ci := TFPMemoryImage.Create (20,20);
- Canvas := TFPImageCanvas.Create (image);
- Writer := TFPWriterPNG.Create;
- reader := TFPReaderPNG.Create;
- with TFPWriterPNG(Writer) do
- begin
- indexed := false;
- wordsized := false;
- UseAlpha := false;
- GrayScale := false;
- end;
- try
- // ci.LoadFromFile ('test.png', reader);
- with Canvas as TFPImageCanvas do
- begin
- pen.mode := pmCopy;
- pen.style := psSolid;
- pen.width := 1;
- pen.FPColor := colred;
- with pen.FPColor do
- red := red div 4;
- Ellipse (10,10, 90,90);
- pen.style := psDashDot;
- pen.FPColor := colred;
- HashWidth := 10;
- Ellipse (10,10, 90,90);
- with pen.FPColor do
- begin
- red := red div 2;
- green := red div 4;
- blue := green;
- end;
- pen.style := psSolid;
- RelativeBrushImage := true;
- {
- brush.image := ci;
- brush.style := bsimage;
- with brush.FPColor do
- green := green div 2;
- Ellipse (11,11, 89,89);
- }
- brush.style := bsSolid;
- brush.FPColor := MyColor;
- pen.style := psSolid;
- pen.width := 3;
- pen.FPColor := colSilver;
- ellipse (30,35, 70,65);
- pen.width := 1;
- pen.FPColor := colCyan;
- ellipseC (50,50, 1,1);
- InitEngine;
- F:=TFreeTypeFont.Create;
- F.Angle:=0.15;
- Font:=F;
- // Font.Name:='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf';
- Font.Name:='/home/michael/Documents/arial.ttf';
- Font.Size:=10;
- Font.FPColor:=colWhite;
- // Font.Orientation:=900;
-
- Canvas.TextOut(10,90,'o');
- end;
- writeln ('Saving to inspect !');
- image.SaveToFile ('DrawTest.png', writer);
- finally
- Canvas.Free;
- image.Free;
- writer.Free;
- ci.free;
- reader.Free;
- end;
- end;
- begin
- // DefaultFontPath := '/usr/share/fonts/truetype/ttf-dejavu/';
- DoDraw;
- end.
|