翻译图形上下文

Posted

技术标签:

【中文标题】翻译图形上下文【英文标题】:Translating Graphics Context 【发布时间】:2012-03-23 05:45:42 【问题描述】:

在下面的代码中,我试图翻译或更多我使用CoreText 绘制的图形上下文。前四行代码翻转坐标系,因为 CoreText 使用左下角的原点。翻转坐标系后,我需要将图形上下文沿 y 轴向下移动 textFrameOriginY 数量。但是,我使用的以下代码不起作用。我对图形不太熟悉,想知道是不是我做错了什么?

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetTextMatrix(context, CGAffineTransformIdentity);
    CGContextTranslateCTM(context, 0, self.bounds.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextTranslateCTM(context, 0, textFrameOriginY);

【问题讨论】:

【参考方案1】:

翻转坐标系后,向下为负向上为正,所以你的第二个翻译应该是-textFrameOriginY?

假设这是在 -drawRect: - 记住你不能在你的范围之外绘制,这应该有助于你调试问题......

【讨论】:

【参考方案2】:

这一行应该是,

CGContextTranslateCTM(context, 0, viewHeight-textFrameOriginY);

获得正确的位置。

【讨论】:

以上是关于翻译图形上下文的主要内容,如果未能解决你的问题,请参考以下文章

设备上下文-CDC绘图细节

style在进行图形绘制前,要设置好绘图的样式

IOS 图形上下文栈

图形上下文的矩阵操作(平移-缩放-旋转)

空图形上下文

iOS - 图形上下文绘图