我想以编程方式更改图像。特别是iPhone,但一般的答案可以帮助。例如,我怎样才能以编程方式添加滤镜效果,例如Photoshop中提供的滤镜效果。以编程方式更改图像
很明显,这可以通过像Fat Booth这样的应用程序来举例说明。这是什么起点?将图像加载为NSData并学习如何对PNG进行编码并使用该算法?可能?更简单的解决方案
感谢您的帮助!
我想以编程方式更改图像。特别是iPhone,但一般的答案可以帮助。例如,我怎样才能以编程方式添加滤镜效果,例如Photoshop中提供的滤镜效果。以编程方式更改图像
很明显,这可以通过像Fat Booth这样的应用程序来举例说明。这是什么起点?将图像加载为NSData并学习如何对PNG进行编码并使用该算法?可能?更简单的解决方案
感谢您的帮助!
iPhone SDK Development的第21章举例说明了如何显示和操作照片,这很容易遵循。更复杂的效果需要更复杂的代码,但这是一开始。
首先获取原始格式的图像(原始像原始字节为每个像素[rgb] [rgb]),然后操纵像素并从原始格式转换回图像。
在这里你可以找到信息如何UIImage的转换和从原始像素数据,例如:
原料到的UIImage:Creating UIImage from raw RGBA data
的UIImage为RAW:Can I edit the pixels of the UIImage's property CGImage
如果你需要的几何变换您可以使用坐标或opengl的映射,并将图像用作某个网格上的纹理,操纵网格(以几何为单位)并将场景渲染回图像。
您不需要知道图像是如何编码成PNG或JPG的,系统可以为您完成。你只需要知道你想达到什么,然后建立你自己的算法。
玩得开心!
我很肯定这是一个有点复杂的一个问题。我会尝试为iPhone重新创建效果,然后询问是怎么回事。我认为你正在寻找的图书馆也是CGGeometry。 (我认为......或者我知道OpenGL ES应该也可以)。 – 2010-09-29 02:31:10