gpt4 book ai didi

c# - GDI+ 文本有黑边

转载 作者:行者123 更新时间:2023-11-30 18:41:55 27 4
gpt4 key购买 nike

我正在清除具有透明颜色(120 alpha)的图像,然后使用渐变在其上绘制一个字符串,然后将该图像绘制到更大的图像上,但文本有黑色边缘而不是漂亮和像它应该的那样光滑。如果使用 255 alpha 绘制背景,文本看起来不错。

120 阿尔法:Image

255 阿尔法:Image

如您所见,文本在完全不透明的背景下更易于阅读

注意:绿点是我的光标

编辑:gfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; 移除黑边但它很模糊,我会尝试一些其他的图形设置组合,看看效果如何。

编辑:gfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; 看起来好多了,虽然 Arial 字体中的 A 看起来有点古怪

最佳答案

这是正常行为。你必须改变你的绘图顺序才能正确。

由于您将文本绘制到半透明表面上,因此其抗锯齿像素也将是半透明的,但介于文本颜色和第一张图像的背景之间。

现在,如果您将结果绘制到另一幅图像上,您将在没有文本的地方拥有统一的透明像素,在文本所在的地方没有透明度,并且抗锯齿像素的透明度颜色不同。

请注意,由于抗锯齿试图分散颜色差异和亮度差异,因此这些颜色会有不同。

要么在不透明的表面上书写,要么延迟书写到最后。 (或者关闭所有抗锯齿。但这并不好。)

关于c# - GDI+ 文本有黑边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6259670/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com