gpt4 book ai didi

ios - imageWithContentsOfFile 与 imageNamed(imageWithContentsOfFile 返回低质量图像)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:48:39 28 4
gpt4 key购买 nike

有一次,我把我所有的图片都放在了APP Bundle里。我使用 imageNamed 函数来获取图像。后来,我决定在应用启动时复制一些图片到文档中。所以,我不能再使用 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倍。我疯了...救救我!非常感谢...

最佳答案

UIImage reference documentation您可以看到 imageNamed 和 imageWithContentsOfFile 之间的一些差异。

  • imageWithContentsOfFile 不缓存图像,也不查找视网膜显示版本 (@2x.png)。
  • imageNamed 会缓存图像并检查是否有 @2x 版本,以便在支持视网膜的设备中加载该版本。

知道这一点后,对于您的问题,我能想到的最合乎逻辑的解释是您使用的是 Retina 设备并且拥有同一图像的 Retina 版本 (@2x)。这可以解释为什么图像

关于ios - imageWithContentsOfFile 与 imageNamed(imageWithContentsOfFile 返回低质量图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15727313/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com