gpt4 book ai didi

ios - 如何使用 Core Graphics 在 `drawRect` 中填充一个 unicode 符号?

转载 作者:行者123 更新时间:2023-11-29 03:22:06 25 4
gpt4 key购买 nike

我知道自己想做什么,但不知道如何实现。我是 Core Graphics 的新手,我不确定这是否可能。

我有一个像这样的 unicode 符号:♖

该符号的白色部分是透明的,我将其绘制在透明矩形中,如下所示:

- (void)drawRect:(CGRect)rect
{
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.alignment = NSTextAlignmentCenter;

UIFont* myFont = [UIFont fontWithName:@"ArialUnicodeMS" size:80];

NSDictionary *attrs =
@{ NSForegroundColorAttributeName : [UIColor blackColor],
NSFontAttributeName:myFont,
NSParagraphStyleAttributeName:textStyle
};


[[self getStringForValue:_squareValue] drawInRect:rect withAttributes:attrs];

}

我想要的是用白色填充内部透明部分,并使周围的矩形保持透明。

我正在考虑的方法是使用unicode符号作为drawRect中的掩码将矩形划分为区域。然后不填充从 0,0 开始的区域,而是填充所有其他区域。我可以使用 Core Graphics 将符号转换为蒙版,然后识别并填充特定区域吗?

我现在得到的是:
no fill

但我真正想要的是:
with fill

最佳答案

您可以使用 -[NSBezierPath appendBezierPathWithGlyph:inFont] 然后将颜色设置为白色并在该路径上调用 -fill。

编辑:由于您使用的是 iOS,而我不知道如何在 iOS 上获取字形路径,因此我只是将字形绘制到填充有 100% 不透明白色的缓冲区,然后从 0,0 开始使用纯透明进行填充。

另一个编辑:使用下面的 jrturton 代码,您应该能够按照最初的建议在路径上简单地进行白色填充,然后用黑色描边。

关于ios - 如何使用 Core Graphics 在 `drawRect` 中填充一个 unicode 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20940872/

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