Phi*_*ach 8 image colors ipad srgb ios
我正在开发一款iPad应用程序,用于展示摄影师的照片.这些照片会上传到网络服务器上,并直接通过应用程序提供,下载并使用以下方法显示:
if([[NSFileManager defaultManager] fileExistsAtPath:[url path]]){
CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)url, NULL);
CGImageRef cgImage = nil;
if(source){
cgImage = CGImageSourceCreateImageAtIndex(source, 0, (CFDictionaryRef)dict);
}
UIImage *retImage = [UIImage imageWithCGImage:cgImage];
if(cgImage){
CGImageRelease(cgImage);
}
if(source){
CFRelease(source);
}
return retImage;
}
Run Code Online (Sandbox Code Playgroud)
我可以观察到原始图片(从磁盘或Mac上的网页和摄影师的Mac上显示)和iPad上显示的照片颜色的显着变化(结果是错误的)应用程序,甚至在Safari中).
经过一些搜索,我发现了一些帖子,解释了iDevices如何不使用嵌入式颜色配置文件,所以我发现我是这样做的.使用以下信息保存照片:
我发现了一些文章(例如来自imageoptim或analogsenses的这个链接),我应该通过转换为sRGB来保存设备导出的图片,而不需要嵌入颜色配置文件,但我不知道怎么能这样做?每次我尝试(我没有photoshop,所以我使用命令行ImageMagick),结果图片有以下信息,仍然无法在我的iPad(以及我测试的任何其他iPad)上正确显示:
以下是在iPhone或iPad上无法正确显示但在网络上无法正常显示的图片示例
我想将其转换为正确显示,任何想法都会受到欢迎:)
[编辑]我已成功使用以下参数使用photoshop的"save for web"选项获取正确的图像:
但是我仍然无法将这些设置自动应用到我的所有照片中.
要读取图像,只需使用:
UIImage *image = [UIImage imageWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)
至于颜色配置文件问题,请尝试使用sips命令行工具修复图像文件。就像是:
mkdir converted
sips -m "/System/Library/ColorSync/Profiles/sRGB Profile.icc" *.JPG --out converted
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |