我想用Wand(Python的ImageMagick绑定)将图像绘制到另一个图像中。源图像应完全替换目标图像(在给定位置)。
我可以使用:
destinationImage.composite_channel(channel='all_channels', image=sourceImage, operator='replace', left=leftPosition, top=topPosition)
但我想知道是否有简单或更快的解决方案。
答案 0 :(得分:2)
但我想知道是否有简单或更快的解决方案。
不是真的。在wand的范围内,这将是最快的方法之一。为简单起见,您已经在一行代码上做了所有事情。也许你可以用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文档的情况下,您知道第二个选项是在所有通道中使用源图像替换目标。在第一个变体中隐藏或假设这些事实。