Hi,
I am traying to use AggPas included in the lazarus SVN tree to draw maps
(GIS application).
I was able to draw the map correctly but my next step is to rotate the
map ... and the AggRotate method seems to not work... and the same for
the AggTranslate method...
Was anybody able to make any of this transformations to work? (specially
the rotate one).
My code is like this:
procedure TForm1 .Button1Click (Sender : TObject );
const
fTextAngle = 300;
fImageAngle = 45;
fWidth = 200;
fHeight = 200;
var
fMap : TBitmap;
fMapCanvas : TAggLCLCanvas;
begin
fMap := TBitmap.Create;
fMap.PixelFormat := pf32bit;
fMapCanvas := TAggLCLCanvas.Create;
fMapCanvas.Image.PixelFormat:= afpimRGBA32;
fMapCanvas.Image.SetSize(fWidth,fHeight);
// Start of drawing routines
fMapCanvas.FillRect(Rect(0,0,fWidth-1,fHeight-1));
fMapCanvas.Pen.Color := $FF0000;
fMapCanvas.Pen.Width := 2;
fMapCanvas.MoveTo(50,10);
fMapCanvas.LineTo(50,70);
// in fact lots of lines... one is enaught for the sample
fMapCanvas.Font.Color := clMaroon;
fMapCanvas.Font.LoadFromFile('Tahoma',12,false,false,AGG_VectorFontCache,degtorad(fTextAngle),True);
fMapCanvas.Font.AggAlignX := AGG_AlignLeft;
fMapCanvas.Font.AggAlignY := AGG_AlignCenter;
fMapcanvas.AggTextOut(10,160,'Sample Angled Text',false,0,0);
// End of drawing routines
fMapCanvas.AggTranslate(-fWidth / 2 ,-fHeight / 2 );
fMapCanvas.AggRotate (DegToRad(fImageAngle));
fMapCanvas.AggTranslate(fWidth / 2 ,fHeight / 2 );
fMap.LoadFromIntfImage(fMapCanvas.Image.IntfImg);
fMap.SaveToFile('c:\test.bmp');
fMapCanvas.Free;
fMap.Free;
end;
Any help is apprecaited.
Horacio
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus