混合2张图像时出错

时间:2011-11-25 04:25:12

标签: iphone image blend

我在输出视图中收到这些错误。我正在尝试将图像混合到另一个图像上,我的程序也提供了所需的输出。只是想知道为什么会出现这些错误以及如何删除它们?我的代码如下:
错误:

<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;
}

1 个答案:

答案 0 :(得分:1)

看起来你在图形上下文之外调用[maskImage drawInRect:cropRect];drawInRect:需要设置当前上下文