imagemagick: создайте файл .png, который представляет собой сплошной прямоугольник

#imagemagick

#imagemagick

Вопрос:

Я хочу создать файл .png, который является просто сплошным цветом.

Это должно быть легко сделать с помощью ImageMagick, но я не могу понять проблему:

 C:tmp>convert -size 8x16 -stroke black -fill black -draw "rectangle 0,0,8,16" black.png
Magick: missing an image filename `black.png' @ error/convert.c/ConvertImageComm
and/3016.
  

Ответ №1:

Очевидно, что может быть больше опций, таких как границы и т. Д., Но если вам просто нужно изображение шириной x высотой заданного шестнадцатеричного цвета, это довольно просто.

Вот все, что нужно, чтобы сделать изображение размером 100×100 сплошного темно-красного цвета:

 convert -size 100x100 xc:#990000 whatever.png
  

Комментарии:

1. Это ярлык для цветовых кодов. Вы можете поместить туда hex, rgb () или даже название цвета. Я, честно говоря, не уверен, что это означает. Дополнительная информация: imagemagick.org/script/color.php

2. Вы также можете использовать значения rgba convert -size 100x100 xc:rgba(255,0,0,0.4) whatever.png

3. Это то, что мне нравится в инструментах unix. Я собирался создать для этого программу на python, но потом вспомнил imagemagick. Ничто не сравнится с однострочным bash

4. xc:#... Это формат псевдоизображения; псевдоним для canvas:#... — посмотрите раздел «Форматы псевдоизображений» imagemagick.org/script/formats.php

5. В Unix-подобных системах шестнадцатеричные цвета и цвета rgb (…) должны быть заключены в кавычки.

Ответ №2:

Обратите внимание, что для значений rgb и rgba вам нужно избегать круглых скобок. Опираясь на @Mike Flynn и @luk3thomas (которые правильно избегают цветового кода):

 convert -size 100x100 xc:rgb(0,255,0) whatever.png
convert -size 100x100 xc:rgba(0,255,0, 0.4) whatever.png
  

Комментарии:

1. Или цитата : convert -size 100x100 'xc:rgb(0,255,0)' whatever.png или convert -size 100x100 "xc:rgb(0,255,0)" whatever.png .

Ответ №3:

В Mac

 convert -size 100x100 xc:"#8a2be2" blue@2x.png