有时我必须知道图像的宽度和高度。我正在使用以下代码:

UIImage *imageU = [UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myImage.png"]];

CGFloat imageW = CGImageGetWidth(imageU.CGImage);
CGFloat imageH = CGImageGetHeight(imageU.CGImage);


我的问题是,如果没有其他方法可以知道图像的宽度和高度(以像素为单位),而不必将图像加载到变量上,则可能会占用内存。可以在不加载整个图像的情况下直接从文件中读取尺寸吗?

这必须适用于PNG和JPEG。

谢谢。

最佳答案

您可以解析在标题中包含大小信息的PNG文件。请参见Get size of image without loading in to memory

(顺便说一句,您可以使用imageU.size获取图像的CGSize。)

10-07 19:56