6

我有一张嵌入颜色配置文件的 JPEG 图片。一些网络浏览器显示带有应用配置文件的图像,有些则不显示。如何将颜色配置文件应用于图像和删除配置文件,所有浏览器都以相同的方式显示图像。

我尝试通过图像魔法扩展解决问题,但图像在不同的浏览器中仍然显示不同:

    function add_color_profiles($source_path, $target_path){

            $all_exts = get_loaded_extensions();
            if(!in_array('imagick',$all_exts))
                    return true;

            $im1 = new Imagick($source_path);
            $im2 = new Imagick($target_path);

            $profiles = $im1->getImageProfiles();


            if(!$profiles)
                    return true;

            foreach($profiles as $name => $profile){

                    $im2->setImageProfile($name,$profile);
            }

            $im2->writeImage ($target_path);

            return true;
    }
4

1 回答 1

3

将配置文件应用于图像(将图像色彩空间转换为 RGB):

$im->setImageColorspace(IMagick::COLORSPACE_RGB);

从输出文件中去除配置文件信息:

$im->profileImage('*', NULL);

剥离所有配置文件的图像,exif(评论 GPS 数据等):

$im->stripImage();
于 2013-07-26T00:46:04.687 回答