【问题标题】:UIImage from image picker blurry来自图像选择器的 UIImage 模糊
【发布时间】:2013-08-19 22:17:17
【问题描述】:

我知道这个问题已经被问过很多次了,但不知道为什么我的 UIImage 仍然模糊。

我做了什么:

尽管如此,出现在屏幕上的 UIImage 还是有点模糊。任何想法我做错了什么?

代码:

UIImage *gotImage = [info objectForKey:UIImagePickerControllerOriginalImage];

float scale = (self.view.frame.size.width)/(imageToResize.size.width);
imageToResize = [imageToResize resizedImage:CGSizeMake(scale * imageToResize.size.width, scale * imageToResize.size.height) interpolationQuality:kCGInterpolationHigh];

UIImageView *background = [[UIImageView alloc] initWithImage:imageToResize];
background.contentMode = UIViewContentModeScaleAspectFit;
background.frame = CGRectIntegral(background.frame);
[self.view addSubview:background];

【问题讨论】:

  • 您在 Retina 设备上看到过这个问题吗?
  • 关于 Jeff 的问题,scale = (self.view.frame.size.width*self.view. contentScaleFactor)/(imageToResize.size.width) 能解决问题吗?
  • 是的,我在 Retina 设备上看到了这个 - 尝试将 contentScaleFactor 添加到比例,但不幸的是似乎没有产生任何影响。

标签: iphone ios uiimage


【解决方案1】:

您可能会尝试在 UIImageView 层上设置光栅化。

原因是,您选择的是原始图像,根据设备的不同,它可能是 1000 像素。然后你使用方面拟合将其压扁。没有光栅化来平滑图像。

这是我的猜测。如果没有设备信息,您的问题很难回答。

【讨论】:

  • 感谢您的建议 - 尝试添加此内容,但似乎没有任何影响。在 iPhone 5 上进行测试。
【解决方案2】:

设法弄清楚 - 我添加了两行:

UIImage *gotImage = [info objectForKey:UIImagePickerControllerOriginalImage];

float scale = (self.view.frame.size.width * [[UIScreen mainScreen] scale] )/imageToResize.size.width; //Changed line
imageToResize = [imageToResize resizedImage:CGSizeMake(scale * imageToResize.size.width, scale * imageToResize.size.height) interpolationQuality:kCGInterpolationHigh];

UIImage *testImage = [UIImage imageWithCGImage:blurredImage.CGImage scale:[[UIScreen mainScreen] scale] orientation:blurredImage.imageOrientation]; //Changed line
UIImageView *background = [[UIImageView alloc] initWithImage:testImage]; 

background.contentMode = UIViewContentModeScaleAspectFit;
background.frame = CGRectIntegral(background.frame);
[self.view addSubview:background];

【讨论】:

    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2015-04-30
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多