objective-c - iOS 模拟器中图片颜色比原始图片颜色深,如何获取原始UIImage?
高洛峰
高洛峰 2017-04-25 09:04:33
0
1
620

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

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

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

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

  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;
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
仅有的幸福

다음은 테스트 결과 사진입니다.

사진을 비교해 보면 위는 RTImageAssets에서 생성한 @2X이고, 아래는 직접 생성한 @2X입니다.
IB에서는 색상차이가 없으나, 시뮬레이터에서 디스플레이하면 색상차이가 있습니다.

이미지 파일 목록

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿