我正在清除带有透明色(120 alpha)的图像,然后用渐变在其上绘制一个字符串,然后将该图像绘制到一个更大的图像上,但文本边缘偏黑而不是很好应该是顺畅的。如果使用255 alpha绘制背景,文本看起来很好。
120 Alpha:Image
255 Alpha:Image
正如您所看到的,在背景完全不透明的情况下,文本更容易阅读
注意:绿点是我的光标
编辑:gfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
删除黑色边缘,但模糊,我会尝试其他一些图形设置组合,看看情况如何。
编辑:gfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
看起来好多了,虽然Arial字体中的A看起来有点时髦
答案 0 :(得分:0)
这是正常行为。您必须更改您的绘图顺序才能使其正确。
由于您将文本绘制到半透明表面上,因此其抗锯齿像素也将是半透明的,但在文本颜色和第一个图像的背景之间也是如此。
现在,如果您将结果绘制到另一个图像上,您将拥有统一的透明像素,其中没有文本,没有文本的透明度以及抗锯齿像素的变化透明度和颜色。
请注意,这些颜色会有各种颜色,因为抗锯齿试图传播颜色差异以及亮度差异。
在非透明表面上书写或将书写延迟到最后。 (或者关闭所有抗锯齿功能。但这并不好。)