UIImage的显示在iPhone裁剪后的模糊(UIImage showing blur after

2019-10-29 12:57发布

我在我的应用程序,我有一个UIScrollView中,并有其子视图的UIImageView,当用户单击库中的任何照片的时候对ImageView的显示,用户可以移动,缩放和缩放图像,当用户单击作物按钮,它应该裁剪那一部分在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];
}

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

Answer 1:

帧的大小并不代表物理像素。 所以,如果你与视网膜的工作做如下改变。

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);

的事情其余都是精品。



文章来源: UIImage showing blur after cropping in iPhone