gpt4 book ai didi

ImageMagick:用单个图 block 替换所有图像图 block

转载 作者:行者123 更新时间:2023-12-03 13:53:58 25 4
gpt4 key购买 nike

我假设 ImageMagick 是最好的选择,但如果您有其他可以编写脚本的建议,请告诉我。

我正在尝试用单个图 block 替换图像的所有 32x32 图 block 。这是原始图像的示例:

Original

这是我要用来替换原始图像上所有图 block 的图 block :

Placeholder tile

这就是我想要的输出:

Placeholder image

我从 Stack Overflow 上的其他帖子了解到,我可以使用 ImageMagick 的 composite 选项将图 block 叠加到原始图像上:

$ 转换 original.png tile.png -composite overlay.png

结果如下:

Overlay

而且我假设通过了解原始图像尺寸,我可以多次手动覆盖图 block 。但是有没有办法使这个过程自动化。在我给出的示例图片中,我需要在原始 64x128 图像上叠加 8 次图 block 。

如何使用 ImageMagick 或其他软件执行此操作?如果使用 ImageMagick,montagecomposite 命令会是更好的选择吗?

编辑:作为一个附加问题,是否可以跳过完全透明的图 block ?

输入示例:

Original transparent

输出示例:

Placeholder transparent

能够完成这部分并不重要,但会很好。

最佳答案

如果平铺图像均匀地适合原始尺寸,像这样的命令应该可以完成您想要的大部分...

convert original.png tile.png -background none -virtual-pixel tile \
-set option:distort:viewport %[fx:u.w]x%[fx:u.h] -distort SRT 0 +swap \
-compose copyopacity -composite overlay.png

读入两张图片。然后它会创建另一个 Canvas ,其大小与原始 Canvas 相同,并填充了平铺图像的多个副本。然后它使用原始图像作为透明蒙版来创建新的平铺图像的副本,其透明单元格与原始图像相同。

关于ImageMagick:用单个图 block 替换所有图像图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49396502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com