我有一个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。它似乎遵循重载的概念。不幸的是,我无法弄清楚如何正确使用它。
答案 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