【问题标题】:iOS Image Processing from JPEG来自 JPEG 的 iOS 图像处理
【发布时间】:2012-08-16 07:36:17
【问题描述】:

我有一个愚蠢的问题。我想加载一个 JPEG 文件并进行一些图像处理。在处理中,图像文件必须是像素=逐像素(无符号字符*),或格式为.bmp。我想知道我该怎么做?

处理后,我想将这个文件保存为.bmp 或.jpg,我该怎么做? 非常感谢,并为我糟糕的英语感到抱歉。

【问题讨论】:

标签: ios image-processing jpeg


【解决方案1】:

cmets 中的链接很有用,但不是我认为您想要做的。您将不得不阅读一些关于 Quartz 的知识,这是 Apple 用于绘图和图像处理的技术。 Apple 在这方面有很好的文档,但这不是简单的一小时工作 - 至少计划一天可能更多。

假设您从 UIImage 开始(我猜,这并不重要):

  • 获取该图像的 CGImageRef(可能是 [UIImage CGImage])

  • 创建一个足够大的 CGBitMapContext 来渲染该图像(您可以询问 CGImage 的宽度和高度等)。

  • 如果你想最终创建一个带有 alpha 的 PNG,你需要为 alpha 创建一个足够大的位图上下文,即使 JPEG 图像没有它。如果你想要另一个 JPEG,你的工作会容易一些。

  • 将图像渲染到位图上下文中(有一个 CGContextDraw... 例程)

现在您的图像包含在您可以读取和修改的位图中。除非您指定了 alpha,否则布局可能是 r-g-b,在这种情况下,您必须确定 alpha 字节的位置。

一旦你修改了位图,你就可以从那个位图创建一个新的 CGImage,然后你就可以根据需要得到一个 UIImage。

PS:如果你搜索,你会发现很多示例代码和相关的帖子,所以你不会完全靠自己。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-06
    • 2014-11-10
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多