Cla*_*son 6 delphi graphics32 delphi-10-seattle
我试图通过提供抗锯齿来改进我在项目中所做的一些绘图.我正在使用Graphics32库而不是标准的delphi Canvas函数来玩一个简单的项目.我正在测试简单的形状,并注意到模糊的影响,并想知道它是否可以修复.
procedure TForm1.FormPaint(Sender: TObject);
var
Points : TArrayOfFixedPoint;
ar: array [0 .. 6] of Tpoint;
begin
// Antialiased Triangle
SetLength(Points, 3);
Points[0] := FixedPoint(20, 20);
Points[1] := FixedPoint(20 + 100, 20 + 20);
Points[2] := FixedPoint(20, 20 + 20);
PolygonFS(self.mBitmap, FixedPointToFloatPoint(Points), clYellow32, pfAlternate, nil); // Draw Filled Polygon
PolylineFS(self.mBitmap, FixedPointToFloatPoint(Points), clBlack32, true, 1); // Draw Outline
self.mBitmap.DrawTo(self.Canvas.Handle, 0, 0);
// Normal Triangle
ar[0] := point(20, 150);
ar[1] := point(20 + 100, 150 + 20);
ar[2] := point(20, 150 + 20);
ar[3] := point(20, 150);
self.Canvas.Brush.Color := clYellow;
self.Canvas.Polygon(slice(ar, 3));
end;
Run Code Online (Sandbox Code Playgroud)
抗锯齿三角形具有更平滑的斜边,但是两条直线看起来像是模糊的,这是有意义的,因为它是抗锯齿的.有没有办法在垂直和水平线不混合的同时获得最佳的两个世界,同时平滑斜边?
编辑: 我使用的Graphic32的版本是官方Github Fork的主分支的顶部,因为上一版本从2012年开始似乎是1.9.1.
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |