2

我想知道改进或缩短 ImageMagick 转换的方法(我自己对 ImageMagick 很陌生)。

我所拥有的是一个平面图像(左侧为 1)和一个具有透明区域(右侧为 1,虚线被填充,蓝色和灰色是实心的顶部)的 3d 模型,这些区域填充了转换后的平面图像。

我玩弄了几个 ImageMagick 命令,并在此处为每个步骤列出它们(没有实数)。我正在寻找的是如何缩短/组合此序列以及为获得最终图像而创建的辅助图像的数量:

  1. 我给定的输入图像。(向下滚动到 5。看看这两者应该如何结合以获得我想要的输出......)

  2. 裁剪 Flash 图像并将生成的两个部分倾斜(我注意到裁剪命令会将裁剪结果吐出并溢出,因此我使用它来分隔平面图像的两侧):

    # sequence for left side:
    convert base.png -crop WxH parts.png
    convert parts-0.png -virtual-pixel transparent -distort Perspective /
            '....' (-resize WxH) front-skewed.png
    
    #[... same for the right side ...]
    
  3. 组合倾斜的部分:

    convert front-skewed.png side-skewed.png +append fill.png
    
  4. 结合倾斜填充和模型封面/蒙版,以便填充插入到 cover.png 的透明部分(右图):

    composite fill.png cover.png -compose dst-atop -matte final.png
    
  5. 删除不需要的中间图像后的结果。

我的流程步骤的插图

我将通过 PHP 从 PHP 运行它exec,因此欢迎任何有关如何更顺利地执行此操作的提示。我想我必须将每个转换称为单独的exec调用,不是吗?

这不会过度运行,但只会在添加新图像时偶尔运行,因此性能对我来说并不是那么重要。

4

1 回答 1

1

在许多情况下,您可以将“链接”的单独的 ImageMagick 命令(即以下命令使用前一个命令的输出图像作为输入图像)放入一个命令中。

既然你...

  • ...都不单独提供您的输入图像(您的 [good!] 插图具有“一体式”),
  • ...也不是您确切的单独 IM 命令,...

...我不倾向于构建自己的示例图像和示例命令来演示和举例说明这种方法。

我将仅向您指出这些资源:

于 2012-09-26T11:54:31.923 回答