有一次,我把我所有的图片都放在了 APP Bundle 中。我使用 imageNamed 函数来获取图像。后来,我决定在应用启动时将一些图片复制到 Document 中。所以,我不能再使用 imageNamed 函数来获取图像了。我使用 imageWithContentsOfFile 来获取图像:
NSString* documentsDirectoryPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
UIImage* result =[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", documentsDirectoryPath, fileName, extension]];
然而,imageWithContentsOfFile 返回一个低质量的图像(非常模糊)。我所有的图像都是 128*128。我使用以下代码检测图片的大小:
NSData * imgData = UIImagePNGRepresentation(image);
NSLog(@"size : %d",[imgData length]);
我发现 imageNamed 返回的图像大小是 imageWithContentsOfFile 的 3 倍。我疯了……救救我!非常感谢 ...