FMXをいじってて躓いてますが。
直線の描画でVCLと同じ結果を期待したのですがままなりません。
Thickness における値で期待した結果と異なってしまいます。
奇数値と偶数値の線幅が同じで、偶数値ははっきりした線ですが
奇数値はややぼやけた感じの線になってしまいますね。
Thickness := 1 では、2の値と同じ線幅でぼやけています。
斜め線は期待した幅ですが若干薄いですね。
アンチエイリアスの関係でしょうか。
procedure TForm1.PaintBox1Paint(Sender: TObject; Canvas: TCanvas);
var
i,Y :Integer;
begin
with PaintBox1 do
begin
Canvas.Stroke.Color := TAlphaColorRec.Red;
Canvas.Stroke.Dash := TStrokeDash.sdSolid;
Y := 5;
for i := 1 to 10 do
begin
Canvas.Stroke.Thickness := i;
Canvas.DrawLine(PointF(0,Y),PointF(Width,Y),1);
if i <> 10 then Y := Y + 20+i;
end;
Canvas.Stroke.Thickness := 1;
Canvas.DrawLine(PointF(0,5),PointF(Width,Y),1);
end;
end;
TRectangle、TLineなどは Thickness := 1 で期待した線幅できれいに
描画されてるのですが。
TRectangle、TLineもやっていることは同じ事なのにどうしてなのかな?
さてさて、私だけの環境の問題なのでしょうか?
|