0
在我的應用程序,我得到以下錯誤控制檯:CGContextAddPath控制檯錯誤?
May 1 22:06:59 iPhone-4S app[93660] <Error>: CGContextAddPath: invalid context 0x0
May 1 22:06:59 iPhone-4S app[93660] <Error>: clip: invalid context 0x0
在這可以發生在以下兩種方法來調整或圓邊添加到一個UIImage的唯一地區。下面是方法:
- (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {
// Create a graphics image context
UIGraphicsBeginImageContext(newSize);
// Tell the old image to draw in this new context, with the desired
// new size
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Get the new image from the context
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
// End the context
UIGraphicsEndImageContext();
// Return the new image.
return newImage;
}
- (UIImage*)roundCorneredImage: (UIImage*)orig radius:(CGFloat) r {
UIGraphicsBeginImageContextWithOptions(orig.size, NO, 0);
[[UIBezierPath bezierPathWithRoundedRect:(CGRect){CGPointZero, orig.size}
cornerRadius:r] addClip];
[orig drawInRect:(CGRect){CGPointZero, orig.size}];
UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return result;
}
這兩種方法都是從UIViewControllers內打電話,我肯定的UIImage的不是零。
這是否有任何理由發生?
謝謝!
你的意思是我加入它的CGSize和/或半徑參數? –
是的,如果你調用UIGraphicsBeginImageContextWithOptions與零大小,你會得到完全相同的錯誤,所以我認爲你的上下文是空的。 –