在上下文中绘图时如何翻转坐标?

时间:2009-07-17 20:43:04

标签: iphone cocoa-touch uikit core-graphics

我从UIImage创建一个上下文,然后用

绘制它
CGContextDrawImage(bitmapContext,
                   CGRectMake(0, 0,
                              originalImage.size.width,
                              originalImage.size.height),
                   oImageRef); 

由于石英中的翻转坐标系,图像呈现倒置。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:22)

您应该能够使用类似于以下内容的方式转换上下文:

CGContextSaveGState(bitmapContext);
CGContextTranslateCTM(bitmapContext, 0.0f, originalImage.size.height);
CGContextScaleCTM(bitmapContext, 1.0f, -1.0f);

// Draw here
CGContextDrawImage(bitmapContext, CGRectMake(0, 0, originalImage.size.width, originalImage.size.height), oImageRef);

CGContextRestoreGState(bitmapContext);

图像绘制可能不需要翻译,但是当我想绘制反转文本时我需要它。如果这是您在上下文中唯一要做的事情,那么您也可以摆脱保存和恢复上下文状态的调用。

答案 1 :(得分:10)

Brad的solution作为Swift 3中的扩展名:

$log = cmd /c "2>&1" icacls "$OBJPath\*" /setowner $OBJOwner /t /c /q