目前VCL已
WITH Canvas DO
BEGIN
CASE PathStyle OF
psLine:
BEGIN
strokeThickness := Max(1, MulDiv( Min(xCellSize,yCellSize), 2, 10));
MoveTo(xOffset + PosX * xCellSize + xCellSize DIV 2,yOffset + PosY * yCellSize + yCellSize DIV 2);
END
但我在moveto(undefined)上得到错误。
那么如何将moveto转换为使用FMX?
答案 0 :(得分:3)
单独的MoveTo和LineTo方法不会按字面翻译。相反,您只需调用TCanvas的DrawLine方法。这将接收两个TPointF参数,用于指定线段的开头和结尾。您也可以传递不透明度参数,100表示不透明度。
var
p1, p2: TPointF;
begin
// sets the ends of the line to be drawn
p1.Create(20, 2);
p2.Create(350, 400);
Image1.Bitmap.Canvas.BeginScene;
// draw the line on the canvas
Image1.Bitmap.Canvas.DrawLine(p1, p2, 100);
Image1.Bitmap.Canvas.EndScene;
// updates the bitmap
Image1.Bitmap.BitmapChanged;
end;
对于它的价值,TPointF类型是我在很长一段时间内看到的设计最差的类型之一。它的缺点很多: