并排合并图像(水平)

时间:2013-12-23 04:38:33

标签: imagemagick

我有五张尺寸的图片:600x30,600x30,600x30,600x30,810x30。他们的名字分别是:0.png,1.png,2.png,3.png,4.png。

如何使用ImageMagick水平合并它们以制作尺寸为3210x30的图像?

5 个答案:

答案 0 :(得分:90)

ImageMagick附带montage实用程序。蒙太奇将并排添加每个图像,允许您调整每个图像(-geometry)和总体布局(-tile)之间的间距。

montage [0-5].png -tile 5x1 -geometry +0+0 out.png

其他示例可在Montage Usage

上找到

答案 1 :(得分:65)

ImageMagick具有名为“convert”的命令行工具,可以水平合并图像,或用于其他目的。我已经尝试过这个命令并完美地处理你的情况:
水平连接图像:
convert +append *.png out.png

垂直堆叠图像:
convert -append *.png out.png

答案 2 :(得分:3)

使用ImageMagick(RuntimeException

非常简单
brew install imagemagick

答案 3 :(得分:1)

如果图像的高度不同

您可以使用-resize选项固定所有这些对象的高度,例如固定400像素的高度:

convert +append image_1.png image_2.png -resize x400 new_image_conbined.png

答案 4 :(得分:0)

使用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将图像放置在它们之间没有间隙。