История изменений
Исправление hikikomori, (текущая версия) :
Спасибо! Теперь можно пользоваться) Но проще перегнать матрицу картинки в .txt и раскрашивать уже описанные пиксели, чем писать руками. Да, -scale 16x16
без нужды лучше не указывать исходная картинка не из фотостока, нарисовал сам попикселям 20x20 и при скалинге получается фарш)
А не подскажите, как просто нарисовать одним массивом несколько пикселей?
По одному неудобно: -draw 'point 3,2'
. Может есть вариант указать список пикселей через -draw "path
?
Вот например как ниже с координатами линий, только вместо линий - точки?
# Используя две кривые Безье и координаты линий, рисуем фигуру (Анкх) на радиальном фоне.
magick -size 300x600 radial-gradient:pink1-Red1 -strokewidth 22 -stroke black -fill none -draw "bezier 155,27 20,40 110,218 150,270" -draw "bezier 154,27 280,40 190,218 149,270" -strokewidth 3 -fill black -draw "path 'M 10,255 150,266 290,255 290,300 162,286 172,561 127,561 137,286 10,300 10,255 '" ankh-by-bezier.gif
Подытожу кейс «хранение картинки в ascii и её конвертация»:
- Создаём спрайт mario.png из base64:
magick 'inline:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAO xAGVKw4bAAAA00lEQVQ4ja1UwRGDMAyTe7zLJmWUzMoodBO6gHmkhsRWcukVvYID kiKbiKoqbsTjTjIAmLq7IvXzwGHahJ5sUKBJKKhf3rcVAPB8pZ5BTihyEcxLomuD Fxhqyryk06WtDZ93LSB+bMqYvBtPBsQYA2FP3YPl2XUIAIpcsCZ5eRM18slvALyL CoFAu5EApCn7tsbx+hY0U55llmkYG7NefuhzKAVFUv1Mm8L+EgKWa5zDQbIWqiNn riuvID8g1r4c2Hi6Ghvg6sg/mqEIDv+9v2+/sQ8vtmAvY/Wf0QAAAABJRU5ErkJg gg==' mario.png
конвертируем картинку в список пикселей
magick mario.png mario.txt
пиксели обратно в картинку
convert -background tan txt:mario.txt -filter point mario2.png
Однако исходный файл и полученный из обратной конвертации не идентичны - формат пишет внутрь метаинфу:
colordiff <(unidump mario.png) <(unidump mario2.png)
Исправление hikikomori, :
Спасибо! Теперь можно пользоваться) Но проще перегнать матрицу картинки в .txt и раскрашивать уже описанные пиксели, чем писать руками. А -scale 16x16
без нужды лучше не указывать исходная картинка 20x20 и получается фарш)
А не подскажите, как просто нарисовать одним массивом несколько пикселей?
По одному неудобно: -draw 'point 3,2'
. Может есть вариант указать список пикселей через -draw "path
?
Вот например как ниже с координатами линий, только вместо линий - точки?
# Используя две кривые Безье и координаты линий, рисуем фигуру (Анкх) на радиальном фоне.
magick -size 300x600 radial-gradient:pink1-Red1 -strokewidth 22 -stroke black -fill none -draw "bezier 155,27 20,40 110,218 150,270" -draw "bezier 154,27 280,40 190,218 149,270" -strokewidth 3 -fill black -draw "path 'M 10,255 150,266 290,255 290,300 162,286 172,561 127,561 137,286 10,300 10,255 '" ankh-by-bezier.gif
Подытожу кейс «хранение картинки в ascii и её конвертация»:
- Создаём спрайт mario.png из base64:
magick 'inline:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAO xAGVKw4bAAAA00lEQVQ4ja1UwRGDMAyTe7zLJmWUzMoodBO6gHmkhsRWcukVvYID kiKbiKoqbsTjTjIAmLq7IvXzwGHahJ5sUKBJKKhf3rcVAPB8pZ5BTihyEcxLomuD Fxhqyryk06WtDZ93LSB+bMqYvBtPBsQYA2FP3YPl2XUIAIpcsCZ5eRM18slvALyL CoFAu5EApCn7tsbx+hY0U55llmkYG7NefuhzKAVFUv1Mm8L+EgKWa5zDQbIWqiNn riuvID8g1r4c2Hi6Ghvg6sg/mqEIDv+9v2+/sQ8vtmAvY/Wf0QAAAABJRU5ErkJg gg==' mario.png
конвертируем картинку в список пикселей
magick mario.png mario.txt
пиксели обратно в картинку
convert -background tan txt:mario.txt -filter point mario2.png
Однако исходный файл и полученный из обратной конвертации не идентичны - формат пишет внутрь метаинфу:
colordiff <(unidump mario.png) <(unidump mario2.png)
Исходная версия hikikomori, :
Спасибо! Теперь можно пользоваться) Но проще перегнать матрицу картинки в .txt и раскрашивать уже описанные пиксели, чем писать руками. А -scale 16x16
без нужды лучше не указывать исходная картинка 20x20 и получается фарш)
А не подскажите, как просто нарисовать одним массивом несколько пикселей?
По одному неудобно: -draw 'point 3,2'
. Может есть вариант указать список пикселей через -draw "path
?
Вот например как ниже с координатами линий, только вместо линий - точки?
magick -size 300x600 radial-gradient:pink1-Red1 -strokewidth 22 -stroke black -fill none -draw "bezier 155,27 20,40 110,218 150,270" -draw "bezier 154,27 280,40 190,218 149,270" -strokewidth 3 -fill black -draw "path 'M 10,255 150,266 290,255 290,300 162,286 172,561 127,561 137,286 10,300 10,255 '" ankh-by-bezier.gif
Подытожу кейс «хранение картинки в ascii и её конвертация»:
- Создаём спрайт mario.png из base64:
magick 'inline:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAO xAGVKw4bAAAA00lEQVQ4ja1UwRGDMAyTe7zLJmWUzMoodBO6gHmkhsRWcukVvYID kiKbiKoqbsTjTjIAmLq7IvXzwGHahJ5sUKBJKKhf3rcVAPB8pZ5BTihyEcxLomuD Fxhqyryk06WtDZ93LSB+bMqYvBtPBsQYA2FP3YPl2XUIAIpcsCZ5eRM18slvALyL CoFAu5EApCn7tsbx+hY0U55llmkYG7NefuhzKAVFUv1Mm8L+EgKWa5zDQbIWqiNn riuvID8g1r4c2Hi6Ghvg6sg/mqEIDv+9v2+/sQ8vtmAvY/Wf0QAAAABJRU5ErkJg gg==' mario.png
конвертируем картинку в список пикселей
magick mario.png mario.txt
пиксели обратно в картинку
convert -background tan txt:mario.txt -filter point mario2.png
Однако исходный файл и полученный из обратной конвертации не идентичны - формат пишет внутрь метаинфу:
colordiff <(unidump mario.png) <(unidump mario2.png)