ImageMagick蒙太奇自然文件顺序
我正在尝试使用ImageMagick蒙太奇功能来组合游戏中的地图块。我的问题是,游戏的原始文件自然是按如下顺序排列的 第1部分.png 第2.png部分 ... 第10部分.png ImageMagick读取此内容,并在part1.png之后平铺part10.png。是否有一个标志/选项告诉IM以我希望的方式读取目录?这是我正在做的一个实时代码示例ImageMagick蒙太奇自然文件顺序,imagemagick,Imagemagick,我正在尝试使用ImageMagick蒙太奇功能来组合游戏中的地图块。我的问题是,游戏的原始文件自然是按如下顺序排列的 第1部分.png 第2.png部分 ... 第10部分.png ImageMagick读取此内容,并在part1.png之后平铺part10.png。是否有一个标志/选项告诉IM以我希望的方式读取目录?这是我正在做的一个实时代码示例 montage \ -alpha on \ -background
montage \
-alpha on \
-background none \
-mode concatenate \
-tile x{$grid} \
-mattecolor none \
{$input_dir}/*.png \
{$output_file}
您可以使用
sort-g
(这是通用的数字排序)来获取所需内容
测试:
创建12个虚拟文件:
for i in {1.12} ; do touch ${i}.txt ; done
列出文件:
ls -1 *.txt
1.txt
10.txt
11.txt
12.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt
使用sort-g
以不同的顺序列出它们:
ls -1 *.txt | sort -g
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt
10.txt
11.txt
12.txt
现实生活:
现在应用此方法解决您的问题:
montage \
-alpha on \
-background none \
-mode concatenate \
-tile x{$grid} \
-mattecolor none \
$(ls -1 {$input_dir}/*.png | sort -g) \
{$output_file}
如果您的$input\u dir
名称不包含任何空格,这应该可以完美地工作。对于“image-1.png”>“image-400.png”排序-V
帮了我的忙。