gpt4 book ai didi

ios - 如何获得适当的、任意宽度的文字笔画?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:10:01 28 4
gpt4 key购买 nike

我试图在某些文本上获得外发光效果,类似于 PhotoShop 的效果,例如: enter image description here

我尝试同时使用:

    CGContextSetTextDrawingMode(context, kCGTextStroke);        
CGContextShowTextAtPoint(context, x, y, "M", 1);

和 CoreText API 绘制具有笔画宽度的属性字符串,(首先绘制最宽的笔画,一直到最后只填充字符串):

    CTLineRef line = CTLineCreateWithAttributedString((CFAttributedStringRef)CFBridgingRetain(stringToDraw));
CGContextSetAlpha(context, myAlpha);
CGContextSetTextPosition(context, x, y);
CTLineDraw(line, context);

两种解决方案都可以正常工作,直到我尝试使用比特定阈值更宽的笔划宽度来绘制它们,然后开始出现奇怪的伪像。这些图片显示了将绘制模式设置为 kCGTextFillStroke 并使用 alpha 为 0.5 的白色描边颜色(并增加每个屏幕截图的线宽)的结果:

enter image description here enter image description here enter image description here

下面的图片显示了当我使用属性字符串绘制并具有适当的笔划淡化效果(增加每个屏幕截图的 strokewidth 属性)时实际发生的情况:

enter image description here enter image description here enter image description here

对我来说,这看起来像是笔画算法的错误实现,但也许你们中的一些人会更清楚,有没有人知道我如何才能在没有奇怪的角状字母的情况下为更宽的笔画获得这种效果?

最佳答案

尖峰似乎是由 LineCapStyle 引起的。尝试不同的设置

关于ios - 如何获得适当的、任意宽度的文字笔画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16734488/

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