Нарезать и переставлять длинные тощие изображения, чтобы они помещались на экране
У меня есть много изображений размером примерно 10000 x 40 пикселей, которые визуализируют графики, которые в основном представляют собой цепочки с несколькими шпорами и другими "украшениями". (Они сделаны по трубопроводу OpenFST fstdraw
через графвиз dot
).
Из командной строки, как я могу автоматически перегруппировать одно из этих тощих изображений, чтобы они легко помещались на экране 1920x1080? Например, разделите изображение на части длиной не более 1920 пикселей, а затем сложите их вертикально.
Что-то с помощью ImageMagick's convert -crop
в петле?
Вот что не получается:
Замена
dot
с одной из своих сестерneato
,fdp
и т.д. по крайней мереfdp
выводит не тощее изображение, но только потому, что тощий график случайным образом изгибается и перекрывается, как чертова хромосома. Изображение по-прежнему в основном белое, надписи нечитаемо крошечные, а структура - просто волнистая.Добавление опции
ratio=1
вdot
Ввод просто прокладки от 10000х40 до 10000х10000.
1 ответ
Поскольку 10000/1920 округляет до 6, разбейте входные данные на 6 частей слева направо и склейте их вместе сверху вниз. Вместо использования 6 промежуточных файлов используйте формат, который содержит несколько изображений (tiff намного быстрее, чем gif), а также stdin и stdout.
convert in.png -crop 6x1@ +repage tiff:- | convert tiff:- -append out.png