iOS 模拟器中图片颜色比原始图片颜色深,如何获取原始UIImage?

发布于 2022-09-01 21:25:24 字数 1106 浏览 17 评论 0

环境:Xcode 7 + iOS9 模拟器
问题:使用IB方式构建UI设置图片的时候,发觉模拟器中UIImageView中的图片颜色比原始图片颜色深。而我希望得到的是原始图片的效果。

新建了一个Demo,只放了一个ImageView。
图片颜色有差异,模拟器中的图片颜色(左图)明显比 IB中原始图片(右图)的颜色深。

21_478997_ba3734379332e6c.png

做过以下尝试,均未达到目的:

  1. 在xcassets文件中设置了图片的渲染模式,设置图片渲染模式为Original Image(如下图),结果没有效果。
    21_478997_26c1651025e8c4f.png

  2. 我尝试使用纯代码的方式设置UIImage结果还是没有效果。

    UIImage *image = [UIImage imageNamed:@"personal"];
    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

3.然后使用方法 imageWithContentsOfFile: 获取,结果还是一样没有效果。

    NSString *path = [[NSBundle mainBundle] pathForResource:@"personal.png" ofType:nil];
    UIImage *imageOfFile = [UIImage imageWithContentsOfFile:path];
    self.imageView.image = imageOfFile;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心清如水 2022-09-08 21:25:24

以下是我测试的结果图片:

对比图片,上面为RTImageAssets生成的@2X,下面的为我自己生成的@2X。
在IB中显示时没色差,在模拟器中时就存在色差了。

图片文件列表

图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文