Применить встроенный цветовой профиль к изображению

У меня есть одна JPEG-картинка со встроенным цветовым профилем. Некоторые веб-браузеры показывают изображение с примененным профилем, некоторые нет. Как применить цветовой профиль к изображению и удалить профиль, чтобы все браузеры отображали изображение одинаково.

Я попытался решить проблему с помощью расширения изображения magick, но изображение по-прежнему отображается по-разному в разных браузерах:

    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;
    }

person denisoid    schedule 01.02.2013    source источник


Ответы (1)


Применить профиль к изображению (преобразовать цветовое пространство изображения в RGB):

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

Удалите информацию о профиле из выходного файла:

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

Разделите изображение всех профилей, exif (комментарии к данным GPS и т. д.):

$im->stripImage();
person clover    schedule 26.07.2013