gpt4 book ai didi

ios - 从我的服务器加载的图片在 iPad 应用程序上有错误的颜色

转载 作者:可可西里 更新时间:2023-11-01 03:19:15 24 4
gpt4 key购买 nike

我正在开发一款 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;
}

我可以观察到原始图片(从磁盘或网络在我的 Mac 和摄影师的 Mac 上显示时相同)和 iPad 上(结果在应用程序中甚至在 Safari 中都是错误的)。

经过一些搜索,我发现了一些解释 iDevices 如何不使用嵌入式颜色配置文件的帖子,所以我发现我正在这样做。照片使用以下信息保存:

colorspace: RGB, colorprofile: sRGB iec...

我在一些文章(例如 this link from imageoptimanalogsenses )上发现我应该通过将图片转换为 sRGB 来保存设备导出的图片,而不嵌入颜色配置文件,但我不知道我该怎么做那 ?每次我尝试(我没有 photoshop,所以我使用命令行 ImageMagick),生成的图片具有以下信息,但在我的 iPad(以及我测试过的任何其他 iPad)上仍然无法正确显示:

colorspace: RGB

Here is a example of a picture that do not display correctly on the iPhone or iPad, but does on the web

我想将其转换为正确显示,欢迎任何想法:)

[编辑] 我已经使用以下参数使用 photoshop 的“保存为网络”选项成功获得了正确的图像: ok photoshop export parameters但我仍然无法将这些设置自动应用到我的所有照片。

最佳答案

要读取图像,只需使用:

UIImage *image = [UIImage imageWithContentsOfFile:path];

至于颜色配置文件问题,请尝试使用 sips 命令行工具来修复图像文件。像这样的东西:

mkdir converted
sips -m "/System/Library/ColorSync/Profiles/sRGB Profile.icc" *.JPG --out converted

关于ios - 从我的服务器加载的图片在 iPad 应用程序上有错误的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37102734/

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