我在输出视图中收到这些错误。我正在尝试将图像混合到另一个图像上,我的程序也提供了所需的输出。只是想知道为什么会出现这些错误以及如何删除它们?我的代码如下:
的错误:
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextSetBlendMode: invalid context 0x0
<Error>: CGContextSetAlpha: invalid context 0x0
<Error>: CGContextTranslateCTM: invalid context 0x0
<Error>: CGContextScaleCTM: invalid context 0x0
<Error>: CGContextDrawImage: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
码
(UIImage*) blendImage
{
CGFloat ox = self.scrollView.contentOffset.x;
CGFloat oy = self.scrollView.contentOffset.y;
CGFloat zoomScale = self.scrollView.zoomScale;
CGFloat cx = (ox + self.cropRectangleButton.frame.origin.x -75.0f) *2.0f / zoomScale;
CGFloat cy = (oy + self.cropRectangleButton.frame.origin.y -85.0f )*2.0f / zoomScale;
CGFloat cw = 600.0f / zoomScale;
CGFloat ch = 600.0f / zoomScale;
CGRect cropRect = CGRectMake(cx, cy, cw, ch);
UIImage *maskImage=[UIImage imageNamed:@"teeth02"];
[maskImage drawInRect:cropRect];
[self.photo drawInRect:imageViewFrame];
UIGraphicsBeginImageContext(self.photo.size);
[self.photo drawAtPoint:CGPointMake(0,0)];
[maskImage drawAtPoint:CGPointMake(cx, cy)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
答案 0 :(得分:1)
看起来你在图形上下文之外调用[maskImage drawInRect:cropRect];
。 drawInRect:
需要设置当前上下文。