ImageMagick удаляет цвета, когда альфа равен 0 (png) - PullRequest
0 голосов
/ 27 февраля 2019

Я конвертирую много 3D текстур с помощью imagemagick для видеоигр.Мои исходные файлы png, мои целевые файлы тоже png.Но я замечаю, что всякий раз, когда альфа-канал падает до 0,0, моя цветовая информация исчезает (и она мне нужна).Я просто хочу масштабировать все каналы, как они есть.Я предполагаю, что есть небольшой переключатель, который решает эту проблему, но крайний срок близок, и я ничего не могу найти об этом.

Простая команда для воспроизведения этого: convert source-with-alpha.png -scale 2014 target.png (Я также пытался -resize, и это такжене работает).

Выполнение только convert source-with-alpha.png target.png работает нормально, хотя (но не масштабируется).

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Я не уверен, что понимаю вашу проблему.У меня нет проблем с изменением размеров прозрачного изображения PNG с помощью ImageMagick 6.9.10.28 Q16 Mac OSX с libpng 1.6.36.Возможно, вам нужно обновить один или оба.

Изображение: enter image description here

Сделать белый цвет прозрачным:

convert logo.png -transparent white logot.png


enter image description here

Изменить его размер:

convert logot.png -resize 25% logot_small.png


enter image description here

0 голосов
/ 27 февраля 2019

Я думаю, ImageMagick пытается что-то оптимизировать, но не уверен, что и почему.Может быть, идея в том, что если что-то прозрачное, вы не можете его видеть, поэтому мы могли бы также сделать его черным, чтобы оно хорошо сжималось.затем изменение размера и рекомбинация:

convert input.png -channel RGBA -separate -resize XxY -combine result.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...