gpt4 book ai didi

iphone - 如何绘制旋转文本而不限于 MacRoman 字符集?

转载 作者:行者123 更新时间:2023-12-03 20:01:57 25 4
gpt4 key购买 nike

我的博客之前已经在这里提到过作为问题的答案。我无法链接到其中一个,因为此表单声称我是垃圾邮件发送者。叹。不管怎样,现在我想写一篇关于绘制旋转文本的权威博客文章,所以它也可以用于这里的答案(呵呵)。这是我的第一次尝试:

http://www.platinumball.net/blog/2009/06/01/drawing-nsstrings-in-unusual-rotations/

效果很好,它可以完成我想要的一切,除了它使用 CGContextSelectFont(),这将文本输出限制为 MacRoman。那是德苏克。

我已经寻找这个问题的答案近一年了,包括多次搜索这个网站,但没有成功。我见过一些看起来很接近我想要的例子,但显然我太愚蠢了,无法让它们屈服于我的意愿。我包含了我编写的 NSString 类别中的 main 方法,它显示了我正在做的事情的实质。如果您需要查看其余的代码,可以从我上面给出的博客链接下载。谢谢...

-(void)drawAtPoint:(CGPoint)point withFont:(UIFont*)font
orientation:(WBOrientation)orient
{
CGContextRef ctxt = [self contextSave];
const std::string tbuf = toStdString(self, NSMacOSRomanStringEncoding);
CGAffineTransform tran = CGAffineTransformMake(1, 0, 0, -1, 0, 0);

switch (orient)
{
case WBOrientUp:
// nothing to do
break;

case WBOrientDown:
tran = CGAffineTransformRotate(tran, degreesToRadians(180.0));
break;

case WBOrientLeft:
tran = CGAffineTransformRotate(tran, degreesToRadians(90.0));
break;

case WBOrientRight:
tran = CGAffineTransformRotate(tran, degreesToRadians(-90.0));
break;

default:
assert(false);
break;
}

contextFont(ctxt, font);
CGContextSetTextDrawingMode(ctxt, kCGTextFill);
CGContextSetTextMatrix(ctxt, tran);
CGContextSetTextPosition(ctxt, point.x, point.y);
CGContextShowText(ctxt, tbuf.c_str(), tbuf.length());

[self contextRestore:ctxt];
}

最佳答案

在我自己做之后几天=)

这就是我解决这个问题的方法:

view.layer.transform = CATransform3DRotate(view.layer.transform, 3.1415, 0,0,1); // this is for 180 degrees.

关于iphone - 如何绘制旋转文本而不限于 MacRoman 字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2163418/

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