我有五张尺寸的图像:600x30,600x30,600x30,600x30,810x30。他们的名字分别是:0.png,1.png,2.png,3.png,4.png。
如何将它们水平合并以使用ImageMagick制作尺寸为3210x30的图像?
ImageMagick附带montage
实用程序。蒙太奇将并排添加每个图像,允许您调整每个图像(-geometry
)和总体布局(-tile
)之间的间距。
montage [0-5].png -tile 5x1 -geometry +0+0 out.png
其他示例可以在Montage Usage页面上找到
ImageMagick具有名为“convert”的命令行工具,可以水平合并图像或用于其他目的。我已经尝试过这个命令并完美地处理你的情况:
要水平连接图像:
convert +append *.png out.png
要垂直堆叠图像:
convert -append *.png out.png
使用ImageMagick非常简单(brew install imagemagick
)
convert +append image_1.png image_2.png new_image_conbined.png
使用MiniMagick
rails gem的任何人都可以使用内置工具合并图像:
# Replace this with the path to the images you want to combine
images = [
"image1.jpg",
"image2.jpg"
]
processed_image = MiniMagick::Tool::Montage.new do |image|
image.geometry "x700+0+0"
image.tile "#{images.size}x1"
images.each {|i| image << i}
image << "output.jpg"
end
查看documentation获取#geometry
选项以处理调整大小和位置。当前示例将图像调整为700px
高度,同时保持图像的纵横比。 +0+0
将放置图像,它们之间没有间隙。