我想以编程方式更改图像。专门针对iPhone,但是,一般答案可能有所帮助。例如,我怎样才能以编程方式添加滤镜效果,例如Photoshop中提供的效果。
显然,有可能是Fat Booth等应用程序的例子。这是什么出发点?将图像加载为NSData并了解PNG的编码方式并开始使用算法?可能?解决方案更简单?
感谢您的帮助!
答案 0 :(得分:1)
iPhone SDK Development的第21章有一个如何显示和操作非常容易理解的照片的示例。更复杂的效果需要更复杂的代码,但这是开始的。
答案 1 :(得分:1)
首先以原始格式获取图像(原始像每个像素的原始字节[rgb] [rgb])然后操纵像素并从原始格式转换回图像。
在这里,您可以找到如何将uiimage转换为原始像素数据的信息,例如:
原始UIImage:Creating UIImage from raw RGBA data
UIimage to Raw:Can I edit the pixels of the UIImage's property CGImage
如果需要几何变换,可以使用坐标或opengl的映射,并将图像用作某些网格上的纹理,操纵网格(几何)并将场景渲染回图像。
您无需了解图像如何编码为PNG或JPG,系统可以为您完成。您只需知道自己想要实现的目标,然后构建自己的算法。
玩得开心!