Как использовать Imagemagick, чтобы добавить фон в png с непрозрачностью 1%

Я хочу преобразовать png с прозрачным фоном в один с фоном с непрозрачностью 1%.

Я хочу сделать это, потому что файлы в окне .dmg можно выбирать/перетаскивать только в том случае, если для изображения файла есть фон.

Я хотел бы сделать это с помощью функции cli convert от Imagemagick.


person maxisme    schedule 25.02.2018    source источник


Ответы (1)


Ваш вопрос мне не очень понятен.

Если следующее не то, что вы хотите, объясните подробнее и/или опубликуйте входное изображение.

Предположим, у вас есть только бинарная прозрачность, т. е. часть полностью прозрачная, а часть полностью непрозрачная, как показано ниже, где белая область сделана прозрачной:

введите здесь описание изображения

Вот сводка альфа-значений оригинала.

   Alpha:
      min: 0  (0)
      max: 255 (1)
      mean: 42.2975 (0.165872)
      standard deviation: 94.8515 (0.371967)
      kurtosis: 1.22756
      skewness: 1.79654
      entropy: 0.648175

Чтобы сделать полностью прозрачную часть непрозрачной на 1% и оставить полностью непрозрачную часть без изменений, вы можете сделать в ImageMagick следующее, а именно добавить 1% к альфа-каналу. Это делает черный (0) равным 1% (3) и обрезает белый так, чтобы он оставался на уровне 255.

convert logot.png -channel a -evaluate add 1% +channel logot2.png

введите здесь описание изображения

Вам придется извлечь изображения, чтобы увидеть прозрачность.

Далее приведены итоговые значения альфа-канала, где минимальное значение 0 теперь соответствует минимальному значению 3. (0,0117647) — это значение в диапазоне от 0 до 1 или эквивалентно 1,17647%.

Alpha:
  min: 3  (0.0117647)
  max: 255 (1)
  mean: 44.7998 (0.175686)
  standard deviation: 93.7356 (0.367591)
  kurtosis: 1.22756
  skewness: 1.79654
  entropy: 0.648175
person fmw42    schedule 25.02.2018
comment
Я на самом деле проверил, и вы можете add 0.1% +channel что даже лучше, так как я не хочу видеть никаких реальных изменений! - person maxisme; 25.02.2018