ImageMagick:在图像上放置一个部分透明的瓷砖

时间:2011-08-18 16:25:05

标签: image-processing imagemagick

我有一个wallpaper.jpg(尺寸:1920x1280)和部分透明的tile.gif(尺寸:16x16)。

在网站上,我希望将图块作为x和y重复叠加在墙纸上。

现在,这个叠加层是使用CSS实现的。我想保存一个请求并使用ImageMagick将(重复的)tile.png与wallpaper.jpg合并。无论如何,壁纸.jpg都是通过ImageMagick生成的。

Documentation of the -tile option之后,我想出了以下命令:

convert wallpaper.jpg -size 1920x1280 tile:tile.gif -compose over -composite result.jpg

然而,结果是一块1920x1280的jpg填充了瓷砖,但没有壁纸闪耀。相反,瓷砖的透明部分似乎是白色的。

文档说:

  

如果图块图像部分透明,则需要指定“Over”“-compose”方法。

那有什么不对?

我也试过-flatten而不是-composite ......结果相同。

编辑: 我知道,还有another -tile option documentation。它似乎遵循重载的概念。不幸的是,我无法弄清楚如何正确使用它。

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

convert wallpaper.jpg -background none -size 1920x1280 tile:tile.gif -composite result.jpg

(您也可以添加-compose over,但这不会有任何区别。)

答案 1 :(得分:1)

不确定它是否会有所帮助,但您是否尝试将tile.gif转换为具有Alpha / Transparency的24位PNG文件? - 刮擦......

我找到了一些示例,但我不确定完整的命令行:

composite -tile tile.gif netscape: wallpaper.jpg

来源:http://www.imagemagick.org/Usage/compose/#tile