3

我正在使用画布绘制函数 drawrect 和 filltext 在 Tbitmap 上绘制,但我不希望结果抗锯齿。有人知道该怎么做吗?

使用 OSX 和 Delphi XE3(但如果需要,可以使用 XE4 和 XE5)

4

2 回答 2

1

是不是问题:

  1. 您创建的位图似乎在数据中存在抗锯齿?
  2. 或者你有一个好的位图并且想要在查看器/显示器中禁用抗锯齿?

如果是前者,您是否检查过抗锯齿确实存在于位图中,而不是由您的查看器引入?

在过去,我发现绘制黑白测试图案并以 1:1 的比例显示图像很有用。Irfanview 是一个以“真实”比例查看的好工具。然后使用放大镜/峰值/镜头来获得实际像素的特写。

黑白测试模式特别好,因为您应该能够(希望)看到 R、G 和 B 子像素在没有抗锯齿的情况下都被同等地照亮。如果您绘制黑白图案并获得单独的明亮子像素,那么您肯定有抗锯齿(或其他形式的损坏!)。

我的经验是图像查看器经常为您进行插值,除非您查看实际的位图数据或近距离查看未缩放的图像,否则很难看到发生了什么......

于 2014-01-08T08:12:50.707 回答
0

嗨,在 drawBitmap 方法中,您需要将 HighSpeed 参数设置为“True”,在下面的示例中:

NewBitmap.Canvas.DrawBitmap(SmallBmp, RectF(0, 0, SmallBmp.Width, SmallBmp.Height), RectF(0, 0, NewBitmap.Width, NewBitmap.Height), 1,**True**);

rgds伊万

于 2015-11-24T16:12:15.860 回答