在imagemagick中将图像绘制成另一个图像?

时间:2015-01-08 15:10:56

标签: python imagemagick wand

我想用Wand(Python的ImageMagick绑定)将图像绘制到另一个图像中。源图像应完全替换目标图像(在给定位置)。

我可以使用:

destinationImage.composite_channel(channel='all_channels', image=sourceImage, operator='replace', left=leftPosition, top=topPosition)

但我想知道是否有简单或更快的解决方案。

1 个答案:

答案 0 :(得分:2)

  

但我想知道是否有简单或更快的解决方案。

不是真的。在的范围内,这将是最快的方法之一。为简单起见,您已经在一行代码上做了所有事情。也许你可以用Image.composite来减少这个。

destinationImage.composite(sourceImage, leftPosition, topPosition)

但您现在正在破坏当前解决方案的可读性。拥有channel='all_channels'&的完整命令从长远来看,operator='replace' kwargs会帮助你。考虑在一年内重新访问代码。

destinationImage.composite(sourceImage, leftPosition, topPosition)
# versus
destinationImage.composite_channel(channel='all_channels',
                                   image=sourceImage,
                                   operator='replace',
                                   left=leftPosition,
                                   top=topPosition)

在没有点击API文档的情况下,您知道第二个选项是在所有通道中使用源图像替换目标。在第一个变体中隐藏或假设这些事实。