CGContext 设置文本在生成 pdf 时右对齐
我正在使用一系列 CGContext 命令来创建用于生成 pdf 文件的文本:
CGContextSelectFont (pdfContext, "Helvetica", 14, kCGEncodingMacRoman);
CGContextSetTextDrawingMode (pdfContext, kCGTextFill);
CGContextSetRGBFillColor (pdfContext, 0, 0, 0, 1);
CGContextSetTextMatrix(pdfContext, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));
不过,我想右对齐文本。关于如何做到这一点有什么想法吗?例如,是否有一种方法允许您将原点指定为文本的右上角,而不是左上角?
CGContextShowTextAtPoint (pdfContext, x, y, text, strlen(text));
谢谢!
I'm using a series of CGContext commands to create text to be used for generating a pdf file:
CGContextSelectFont (pdfContext, "Helvetica", 14, kCGEncodingMacRoman);
CGContextSetTextDrawingMode (pdfContext, kCGTextFill);
CGContextSetRGBFillColor (pdfContext, 0, 0, 0, 1);
CGContextSetTextMatrix(pdfContext, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));
I would like to right justify the text though. Any idea on how to do this? For example, is there a method that allows you to specify the origin as the top right corner of the text, not the top left?
CGContextShowTextAtPoint (pdfContext, x, y, text, strlen(text));
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不支持右对齐和居中对齐。为了绘制右对齐文本,您需要计算文本宽度,从右对齐 x 中减去文本宽度,然后在计算的位置绘制文本。
Right and center justifications are not supported. In order to draw right aligned text, you need to compute the text width, subtract the text width from the right aligned x and then draw the text at the computed position.