Howdy!
Хочу на холсте нарисовать несколько пикселей.
magick -size 10x6 xc:khaki -fill black -draw 'point 3,2' draw_point.gif
magick -size 10x6 xc:khaki -fill black -draw 'point 3,2 point 1,2' draw_point.gif
Понятно, что таким образом много точек в одной строке писать устанешь и больно громоздко получается, спрайты и стрелки не порисуешь.
Нагуглил такой метод:
input.txt
# ImageMagick pixel enumeration: 3,4,255,rgb
0,0
1,0: (0,0,0)
2,0: (255,255,255)
0,1: (0,0,0)
1,1: (255,255,255)
2,1: (0,0,0)
0,2: (255,255,255)
1,2: (0,0,0)
02,03: (0,0,0)
Теперь по этому файлу создаём наш пиксель арт:
convert -background tan txt:input.txt -filter point -resize 64x64! output.png
Прекрасно, у меня получилось! Я даже воспылал вдохновением и попробовал нарисовать спрайт Марио. Но не тут-то было.
Хотя в документации пишут, что: you do NOT need to define ALL the pixels. на самом деле нельзя описать пиксели с не нулевой x позиции. Нужно построчно слева направо описать, пусть не до правой границы, но если начать новую строку не с первой колонки, то error/convert.c/ConvertImageCommand/3325.
Я попробовал с этим смириться, и описал голову Марио:
https://pastebin.com/TyyDSibf
convert -background tan txt:mario.txt -filter point -resize 64x64 mario.png
convert: no images defined `mario.png' @ error/convert.c/ConvertImageCommand/3325.
Даже если бы получилось, то при смене background пришлось бы менять цвет ведущих с начала строки лишних пикселей (да, у меня для теста они 255) и они занимают кучу лишнего места, и не получилось.
ЧЯДНТ?
Помогите plz правильно описать спрайт Марио.
Можно конечно и так:
# Кодировать спрайт Марио в base64 и записать в файл:
magick 'inline:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAO xAGVKw4bAAAA00lEQVQ4ja1UwRGDMAyTe7zLJmWUzMoodBO6gHmkhsRWcukVvYID kiKbiKoqbsTjTjIAmLq7IvXzwGHahJ5sUKBJKKhf3rcVAPB8pZ5BTihyEcxLomuD Fxhqyryk06WtDZ93LSB+bMqYvBtPBsQYA2FP3YPl2XUIAIpcsCZ5eRM18slvALyL CoFAu5EApCn7tsbx+hY0U55llmkYG7NefuhzKAVFUv1Mm8L+EgKWa5zDQbIWqiNn riuvID8g1r4c2Hi6Ghvg6sg/mqEIDv+9v2+/sQ8vtmAvY/Wf0QAAAABJRU5ErkJg gg==' mario.png
Но эта компиляция неудобна для редактирования точек и я хочу освоить данный инструмент txt:
. Но описывать только те точки, что хочу. И желательно не кодами, а именами, которые почему-то не проходят.
Ссылки:
Перемещено hobbit из general