解决用context重绘后image发生翻转问题

2016-06-29  本文已影响0人  binkylee

- (UIImage*)getSubImage:(CGRect)rect

{

CGImageRef subImageRef = CGImageCreateWithImageInRect(self.CGImage, rect);

CGRect smallBounds = CGRectMake(0, 0, CGImageGetWidth(subImageRef), CGImageGetHeight(subImageRef));

UIGraphicsBeginImageContext(smallBounds.size);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextDrawImage(context, smallBounds, [self flip:subImageRef]);

UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];

UIGraphicsEndImageContext();

return smallImage;

}

- (CGImageRef )flip:(CGImageRef)image{

CGSize size = CGSizeMake(CGImageGetWidth(image), CGImageGetHeight(image));

UIGraphicsBeginImageContextWithOptions(size, NO, 0);

CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, size.width, size.height), image);

CGImageRef result = [UIGraphicsGetImageFromCurrentImageContext() CGImage];

UIGraphicsEndImageContext();

return result;

}

上一篇下一篇

猜你喜欢

热点阅读