Получение ошибок при смешивании 2 изображений - PullRequest
0 голосов
/ 25 ноября 2011

Я получаю эти ошибки в представлении вывода. Я пытаюсь смешать изображение с другим изображением, и моя программа также выдает требуемый результат. Просто хотел узнать, почему эти ошибки происходят и как их устранить? Мой код написан ниже:
ошибка:

<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 Ответ

1 голос
/ 25 ноября 2011

Похоже, вы звоните [maskImage drawInRect:cropRect]; вне графического контекста. drawInRect: требует установки текущего контекста .

...