在 iPhone 3GS 上,相机拍摄的图像具有 2048x1536 像素。如果我的数学正确,在 CGLayer 上打开此图像将消耗 12.5 MB。
Springboard 将终止任何超过 12 MB 的应用程序(至少这是发生在我身上的情况)。
使用 CGContextDrawLayer 之类的函数操作此图像将至少再消耗 12 mb。
这是 24 MB。
如何在不终止程序的情况下在 iPhone 上操作此类图像?
有没有什么方法可以在不减小相机拍摄图像尺寸的情况下减少其占用空间?
有什么线索吗?谢谢。
最佳答案
您应该考虑使用NSInputStream为了以任何有意义的大小块来处理您的图像。例如,您可能读取 1 MB 数据,对其进行处理,然后将结果写入 NSOutputStream ,然后再重复 11 次,直到 EOF。
您的图像处理算法很可能会确定最佳 block 大小。
关于iphone - 无法对 iPhone 相机的图像进行后期制作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496590/