【问题标题】:iPhone - save image at higher resolution without pixelating itiPhone - 以更高分辨率保存图像而不对其进行像素化
【发布时间】:2009-06-13 11:37:41
【问题描述】:

我正在使用图像选择器控制器从用户那里获取图像。对图像进行一些操作后,我希望用户能够将图像保存为 1600x1200 像素、1024x1024 像素或 640x480 像素(类似于 iFlashReady 应用程序)。

最后一个选项是我在 UIImagePickerControllerDelegate 方法中获得的图像大小(使用相机胶卷中的图像时)

有什么方法可以在不像素化的情况下以这些分辨率保存图像?

我尝试创建一个具有我想要的宽度和高度的位图上下文 (CGBitmapContextCreate) 并在那里绘制图像。但是图像在 1600x1200 像素化。

谢谢

【问题讨论】:

    标签: iphone uiimage


    【解决方案1】:

    这是不平凡的。您的图像没有足够的数据。要放大它,您需要重新采样图像并在像素之间进行插值(如调整图像大小时的 Photoshop)。

    您很可能希望使用 3rd 方库,例如:

    http://code.google.com/p/simple-iphone-image-processing/

    它执行这个和许多其他图像处理功能。

    【讨论】:

    • 我已经看过代码,但没有找到更高分辨率的解决方案,您可以发布与图像更高分辨率相关的提示
    【解决方案2】:

    从很久以前的计算机视觉课的模糊记忆中,我认为您所做的是在上转换后模糊图像。

    【讨论】:

      【解决方案3】:

      在绘制之前尝试调整 CGBitmapContext 的抗锯齿和/或插值质量:

      CGContextSetShouldAntialias( context, 1 == 1 )

      CGContextSetInterpolationQuality( context, kCGInterpolationHigh ) ;

      如果我没记错的话,CGContext 的抗锯齿功能默认是关闭的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-11
        • 2015-10-20
        • 1970-01-01
        • 2016-12-18
        • 2014-10-03
        • 1970-01-01
        相关资源
        最近更新 更多