UIImage在iPhone中裁剪后显示模糊

时间:2012-08-24 12:36:22

标签: iphone uiimage crop blur

我是我的应用程序,我有一个uiscrollview并且在其上有子视图uiimageview,当用户点击它在该imageview上显示的库中的任何照片时,用户可以移动,缩放和缩放图像,当用户点击庄稼按钮时它应该裁剪图像视图中的部分,在iPhone 3GS中它的工作非常精细,但在视网膜中它无法正常裁剪显示出不同的图像。

- (UIImage *)currentSlice {

    CGSize sliceSize = imageView.frame.size;

    UIGraphicsBeginImageContextWithOptions(sliceSize, NO, 0.0);
    [imageView.image drawInRect:CGRectMake(0, 0, sliceSize.width, sliceSize.height)];
    UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    CGRect sliceRect = CGRectMake(scrollView.contentOffset.x, scrollView.contentOffset.y, scrollView.frame.size.width, scrollView.frame.size.height);
    CGImageRef imageSlice = CGImageCreateWithImageInRect(scaledImage.CGImage, sliceRect);
    return [UIImage imageWithCGImage:imageSlice];
}

我已经使用这种方法进行裁剪,请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

帧大小不代表物理像素。 所以,如果你正在与视网膜一起工作,请做以下改变。

CGSize sliceSize = CGSizeMake(imageView.frame.size.width * 2.0, imageView.frame.size.height * 2.0);

CGRect sliceRect = CGRectMake(scrollView.contentOffset.x, scrollView.contentOffset.y, scrollView.frame.size.width * 2.0, scrollView.frame.size.height * 2.0);

其他一切都很好。