我正在开发一款iPad应用程序,用于展示摄影师的照片.这些照片会上传到网络服务器上,并通过应用程序直接提供,下载并使用以下方法显示:
if([[NSFileManager defaultManager] fileExistsAtPath:[url path]]){ CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)url,NULL); CGImageRef cgImage = nil; if(source){ cgImage = CGImageSourceCreateImageAtIndex(source,(CFDictionaryRef)dict); } UIImage *retImage = [UIImage imageWithCGImage:cgImage]; if(cgImage){ CGImageRelease(cgImage); } if(source){ CFRelease(source); } return retImage; }
我可以观察到原始图片(从磁盘或Mac上的网络和摄影师的Mac上显示)和iPad上显示的照片颜色的显着变化(结果是错误的)应用程序,甚至在Safari中).
经过一些搜索,我发现了一些帖子,解释了iDevices如何不使用嵌入式颜色配置文件,所以我发现我是这样的.使用以下信息保存照片:
我发现了一些文章(例如this link from imageoptim或analogsenses)我应该通过将图片转换为sRGB来保存设备导出的图片,而不是嵌入颜色配置文件,但我无法找到我怎么能这样做?每次我尝试(我没有photoshop,所以我使用命令行ImageMagick),结果图片有以下信息,仍然无法在我的iPad(以及我测试的任何其他iPad)上正确显示:
我想将其转换为正确显示,任何想法都会受到欢迎:)
[编辑]我已成功使用以下参数使用photoshop的“save for web”选项获取正确的图像:
但是我仍然无法将这些设置自动应用到我的所有照片中.