ImageMagick: недействительный профиль ICC после преобразования

Я написал приложение, которое обрезает и изменяет размер кучи изображений с помощью ImageMagick. Изображения также преобразуются в оттенки серого. Но когда я пытаюсь открыть преобразованное изображение в Photoshop CC, появляется следующее предупреждение:

Встроенный профиль ICC нельзя использовать, потому что профиль ICC недействителен, профиль игнорируется.

Кроме того, профиль изображения в градациях серого, но я хочу, чтобы он был в RGB. Как я могу добиться этого с помощью ImageMagick? Я поигрался с разными параметрами, но у меня ни один из них не помог.

Эта команда сейчас используется:

convert ${src} -type grayscale -set colorspace RGB -background white -gravity center -extent ${longest}x${longest} ${dest}

Кроме того, это тоже не сработало:

convert.exe ${src} -set colorspace RGB -set profile RGB.icc ${dest}

person Andreas Remdt    schedule 07.04.2016    source источник
comment
Пробовали ли вы удалить какой-либо существующий профиль (с -strip или +profile) перед добавлением нового?   -  person Mark Setchell    schedule 07.04.2016
comment
Спасибо, -strip отлично справился с удалением недействительного профиля.   -  person Andreas Remdt    schedule 11.04.2016


Ответы (1)


Простой способ заставить выходной PNG быть RGB - заменить $ (dest) в вашей команде на PNG24: $ (dest) или использовать PNG32: $ (dest), если ваше изображение имеет прозрачность). Если вы это сделаете, то ваш существующий цветовой профиль RGB будет в порядке.

Вы также можете попробовать PNG8: $ (dest), который подойдет, если у вас меньше 256 уровней серого, и приведет к уменьшению размера файла.

person Glenn Randers-Pehrson    schedule 07.04.2016
comment
И ваш, и ответ Марка сработали для меня. Похоже, был недействительный профиль ICC, который нужно было удалить, также я воспользуюсь вашим методом, чтобы записать результат в виде файла PNG24, чтобы получить RGB. Спасибо вам обоим! - person Andreas Remdt; 11.04.2016