我想在 Ubuntu 12.04 中合并两个图像文件。有什么方法可以实现吗?
是否有用于合并图像文件的实用程序,例如 Ubuntu 中的 MS-Paint?
答案1
作为对其他答案的补充imagemagick
并考虑对 GUI 的需求。
灵感来自这帖子说 ImageMagick 有一个命令行工具convert
来合并图像。要合并图像水平 (按字母顺序):
convert +append *.png out.png
堆叠图像垂直:
convert -append *.png out.png
那应该是在终端中运行包含 png 文件的文件夹,将它们全部合并。
其 GUI 如下:
文件管理器上下文菜单用于合并选定的图像。
一个简单的方法就是使用 Thunar 的自定义操作:
合并选定的图像垂直(放入一个png
文件中,按字母顺序排列,无论其扩展名如何)添加此自定义操作(“编辑 - 配置自定义操作”):
convert -append %F joined-vertical.png
加入水平:
convert +append %F joined-horizontal.png
.desktop
可以在文件中/.local/share/file-manager/actions
添加上下文菜单来使用相同的命令Nautilus 和/或 PCManFM。
垂直连接的示例:
[Desktop Entry]
Type=Action
Name=Join images (vertically)
Profiles=profile-zero;
TargetLocation=true
Icon=gthumb
[X-Action-Profile profile-zero]
Basenames=image/*;*;
Exec=convert -append %F joined-image.png
Name[en_US]=Default profile
Name[en]=Default profile
Name[C]=Default profile
答案2
“连接两个图像”是一个相当模糊的描述,但我相信你可以用瘸子. 您可以使用以下方式安装软件中心或者从命令行使用
sudo apt-get install gimp
不过,它在功能上可能更接近 Photoshop 而不是 MSPaint......这是一件好事。
在 GIMP 中操作方法如下:
- 文件 > 新建;创建比要合并的两个图像都更大的图像。
- 文件 > 作为图层打开;打开您的图像。
- 使用移動[M]排列图像的工具。
- 使用裁剪 [Shift+C]重新排列完成后,使用工具裁剪所有内容。
- 文件 > 导出到...保存输出文件。
就是这样!除了 GIMP,您还可以使用平塔
答案3
你可以用它imagemagick
来做这个。(我也在用它。)
首先安装它:sudo apt-get install imagemagick
之后看看这里对于用法,你会发现很多例子。最好的是,你可以从命令行使用它(例如,集成在脚本中)。
答案4
-resize
当图像的宽度/高度不同时使用
您可以使用选项固定所有图像的高度-resize
,例如将两个水平连接的图像的高度固定为 500 像素:
convert +append image_1.png image_2.png -resize x500 new_image_conbined.png
或者对于垂直连接,您可能希望设置固定宽度:
convert -append image_1.png image_2.png -resize 500x new_image_conbined.png
例子:
图像1.png 1067x600
图像2.png 1920x1080
新图像合并.png 889x500
有关的:
- https://stackoverflow.com/questions/20737061/merge-images-side-by-sidehorizontally
- https://superuser.com/questions/290656/combine-multiple-images-using-imagemagick
如何与 GIMP 交互
如果您需要首先以交互方式裁剪/调整图像大小(通常情况下是这样),那么 GIMP 就是完美的工具,下面是详细的分步说明:https://graphicdesign.stackexchange.com/questions/83446/gimp-how-to-combine-two-images-side-by-side/145543#145543
SVG
ImageMagick 6.9.11-60 不处理它们,因此请参阅:
- https://stackoverflow.com/questions/9612434/how-to-concatenate-svg-files-lengthwise-from-linux-command-line
- https://graphicdesign.stackexchange.com/questions/137096/is-there-a-way-to-stack-two-svgs-on-top-of-each-other
- https://graphicdesign.stackexchange.com/questions/90844/joining-together-multiple-svg-images