objective-c-ios解码图像的一部分

我有一个大的图像太大,无法加载到内存中,但我只对这个大图像中的一组子像素感兴趣.是否可以将这个子像素解码为内存?我知道在 Android中有一个类在API中做这个所谓的BitmapRegionDecoder这样的东西

我发现CGDataProviderCreateSequential,但它需要构造函数中的原始像素…

现在我在做这样的事情:

UIImage* srcImage = ...;
    CFDataRef cgImgDataRef = CGDataProvidercopyData(CGImageGetDataProvider(srcImage.CGImage));//After this call,all pixels are decoded into memory and the app crashes
char* imageData = (char*)CFDataGetBytePtr(cgImgDataRef);

解决方法

唯一可能的办法是,如果您创建一个CGImageSourceCreateWithData()(或任何URL),然后使用CGImageCreateWithJPEGDataProvider或CGImageCreateWithPNGDataProvider创建一个CGImageRef.使用这个CGImageRef,您可以尝试使用CGImageCreateWithImageInRect()并拉出大图像的一部分.

如果你想要做的是平铺图像,请澄清你的问题,因为我会有更多的信息.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...