是否可以只读取大图像文件的小矩形区域?
答案 0 :(得分:5)
这是不可能的。首先,iPhone api肯定不支持它。更重要的是,JPEG等图像格式通常逐行存储像素,然后对整个流应用顺序压缩 - 这意味着您必须从头开始并完成。 (不确定PNG)
你最好的选择,如果你需要这个非常糟糕的,对于jpeg,是链接到一个libjpeg的克隆,你在其中破解一些东西以跳过霍夫曼(-ish)编码的8x8 MCU块,并且只存储该部分你需要。
根据经验,我可以看出,如果你应用一大堆技巧从一个MCU块跳到另一个MCU块,而不实际解码它们,速度增益将达到70%左右。 (我只需要每个块的第一个条目进行快速的8比1缩减)
这将是一个非常有趣的项目,但除非您感到迫切需要,否则我只需阅读整个图像,然后切出您需要的部分。
答案 1 :(得分:1)
尝试:CGImageCreateWithImageInRect