切片并重新排列细长图像以适合屏幕

切片并重新排列细长图像以适合屏幕

我有许多图像,每张大约 10000 x 40 像素,可视化图形,这些图形主要是带有一些支线和其他“装饰”的链条。(它们是fstdraw通过 Graphviz 的管道传输 OpenFST 制成的dot)。

从命令行,我如何自动强力重新排列这些细长图像之一,使其适合 1920x1080 屏幕?例如,将图像分割成最多 1920 像素长的碎片,然后垂直堆叠它们。

convert -crop在循环中使用 ImageMagick 的一些东西?

失败的原因如下:

  • dot用它的一个姐妹neato、等替换fdp。至少fdp输出一个非瘦身图像,但只是因为瘦身图像该死的染色体一样随机扭曲和重叠。图像仍然大部分是白色的,标签小得难以辨认,结构只是一个波浪线。

  • 将该选项添加ratio=1到的dot输入仅仅将 10000x40 填充为 10000x10000。

答案1

因为 10000/1920 舍入为 6,所以将输入从左到右分成 6 部分,然后从上到下将它们重新粘合在一起。不要使用 6 个中间文件,而是使用一种可容纳多个图像的格式(tiff 比 gif 快得多)以及 stdin 和 stdout。

convert in.png -crop 6x1@ +repage tiff:- | convert tiff:- -append out.png

相关内容