这是this one的后续问题。
CATextLayer只能在不透明的情况下绘制具有亚像素反走样的文本.
文本显示在彩色图像上。图像有90%的颜色,这意味着我基本上可以忽略图像和浅色颜色之间的几个颜色差异,以及针对该颜色的反别名。
显然,CATextLayer的背景仍然必须是透明的。
不幸的是,没有办法真正控制亚像素AA,你可以只是禁用它或启用它,其余的发生在后台。
我想知道是否有一种方法来设置反别名的颜色,但实际上并不存在。
所以我的问题在一句话中:
有没有一种方法可以对从未绘制过的颜色进行亚像素反别名?
发布于 2014-04-25 09:21:53
有个办法。(这是个小问题,但由于还没有答案,一个小时后,我想我应该把它发出来,虽然可能不是很完美。)
将黑色文本呈现到白色背景上,并保存到图像中。
然后,您可以使用函数kCGBlendModeMultiply使用混合模式-drawInRect:blendMode:alpha:来呈现该图像。
要绘制其他颜色的文本,您需要更多的图像黑客,但它也应该是可能的,通过使用混合模式创造性。
https://stackoverflow.com/questions/23286936
复制相似问题