Tha*_*nks 10 iphone cocoa-touch core-graphics uikit
我从UIImage创建一个上下文,然后我用它绘制它
CGContextDrawImage(bitmapContext,
CGRectMake(0, 0,
originalImage.size.width,
originalImage.size.height),
oImageRef);
Run Code Online (Sandbox Code Playgroud)
由于石英中的翻转坐标系,图像呈现倒置.我该如何解决这个问题?
Bra*_*son 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);
Run Code Online (Sandbox Code Playgroud)
图像绘制可能不需要翻译,但是当我想绘制反转文本时我需要它.如果这是您在上下文中唯一要做的事情,那么您也可以摆脱保存和恢复上下文状态的调用.
use*_*478 10
Brad的解决方案作为Swift 3的扩展:
extension CGContext {
func drawFlipped(image: CGImage, rect: CGRect) {
saveGState()
translateBy(x: 0, y: rect.height)
scaleBy(x: 1, y: -1)
draw(image, in: rect)
restoreGState()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9070 次 |
| 最近记录: |