我使用以下代码裁剪我的UIImage:
-(UIImage*)cropWithRect:(CGRect)rect
{
if(self.scale > 1.0f){
rect = CGRectMake(rect.origin.x * self.scale,
rect.origin.y * self.scale,
rect.size.width * self.scale,
rect.size.height * self.scale);
}
CGImageRef imageRef = (CGImageCreateWithImageInRect(self.CGImage, rect));
return [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation];
}
但是这给了我一个输出图像,它具有错误的像素颜色,这在放大时是显而易见的。例如,白色输入像素有时会变成灰白色(并非总是 - 仅当白色像素接近其他深色像素时)。
我可以获得更好的效果,还是有另一种方法可以产生更好的裁剪图像?
感谢。