如何编写一个使用图像魔法将图像切割成碎片的bash脚本?
Posted
技术标签:
【中文标题】如何编写一个使用图像魔法将图像切割成碎片的bash脚本?【英文标题】:How to write a bash script that cuts images into pieces using image magick? 【发布时间】:2009-09-29 09:39:52 【问题描述】:我有许多包含多个较小图像的输入图像,它们都在一行中。所有包含的图像大小相同。因此,例如,图像 input.png
可能是 480x48
并包含 10 个 48x48
图像,都在一行中。
使用 imagemagick convert
工具(或默认 imagemagick 套件提供的任何其他工具),我想编写一个 bash 脚本,该脚本获取输入图像、要剪切的图像数量,然后将它们全部剪切成单独的图片。
我可以进行用户交互,但我无法让convert
进行实际切割。任何人都可以提出一些建议吗?通过阅读手册页,我认为这应该可行:
convert 'input.png[0x0+48+48]' output.png
但我得到一个错误:
转换:缓存中没有定义像素
tb_icons_l.png' @ magick/cache.c/OpenCache/3572. convert: No IDATs written into file
1.png'@ coders/png.c/PNGErrorHandler/1391.
有什么想法吗?
【问题讨论】:
【参考方案1】:我会这样做:
convert input.png -crop 48x48 +repage +adjoin output_%02d.gif
在Tile Cropping, in ImageMagick documentation了解更多信息。
【讨论】:
你先生,真棒!!谢谢!【参考方案2】:我相信你已经交换了位置和大小。试试:
convert 'input.png[48x48+0+0]' output.png
第三张图片是:
convert 'input.png[48x48+96+0]' output.png
或者
convert 'input.png[48x48+0+96]' output.png
【讨论】:
以上是关于如何编写一个使用图像魔法将图像切割成碎片的bash脚本?的主要内容,如果未能解决你的问题,请参考以下文章