在我的照片编辑iOS应用程序中,我想缩小大图像,然后再将它们发送到我的过滤器管道中。我正在使用Apple的核心图像框架CILanczosScaleTransform filter。
现在对于一些图像我在结果中得到黑屏。我在Xcode中启用了“OpenGL ES Error”断点,发现在核心图像中抛出了<{1}}错误 - 当它试图为Lanczos过滤器创建中间纹理时,确切地说
经过无数次实验后,我发现只有结果图像的宽度大于2048像素才会发生。 因此,例如在横向模式下使用内置摄像头拍摄的图像缩小到4 MP(2369x1769)会导致此错误。相同尺寸(高度> 2048)的肖像图像可以毫无问题地工作。
如果我使用的是CIAffineTransform filter而我没有收到该错误。但我更喜欢使用Lanczos,因为它会产生更好的效果。
我在iPad Mini(非视网膜,iOS 7.1)和iPhone 5s(iOS 7.0.6)上进行了测试,效果相同。
有关导致此问题的原因的任何想法?我在网上搜索但无法找到有关此过滤器图像大小的任何记录或未记录的限制。