有时我必须知道图像的宽度和高度。我正在使用以下代码:
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。)