在 Wand 中设置图像不透明度的最佳方法?
The best way to set the opacity of an image in Wand?
在 Wand 中设置图像不透明度的最佳方法是什么?
我在 Windows 7 计算机上使用最新版本的 ImageMagick (7.0.8-27 Q16 x64 2019-02-09) 和 Wand (0.5.1)。
我不想使用 transparent_color()。
我想为 alpha 混合叠加或合成设置图像的 alpha 通道。
transparentize() 不设置图像的不透明度。它只会使图像变暗。
我尝试了以下代码,但它产生了一个错误。
from wand.image import Image, CHANNELS
from wand.api import library
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = 'opaque'
library.MagickSetImageOpacity(imageOverlay.wand, 0.2)
imageOverlay.save(filename='test_transparency.png')
library.MagickSetImageOpacity(wand_imageOverlay.wand, 0.2) TypeError:
'NoneType' object is not callable
我也试过下面的代码,但它产生了一个错误。
from wand.image import Image, CHANNELS
from wand.api import library
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = 'opaque'
library.MagickEvaluateImage(imageOverlay.wand, 'multiply', 0.2, CHANNELS['alpha'])
imageOverlay.save(filename='test_transparency.png')
library.MagickEvaluateImage(wand_imageOverlay.wand, 'multiply', 0.2,
CHANNEL S['alpha']) ctypes.ArgumentError: argument 2: : wrong type
在 Wand 中,将每个 alpha 通道像素设置为特定值(例如 0.2)的最紧凑代码是什么?
感谢fmw42的评论,现在我有了一个统一设置alpha通道像素值的Wand代码块。
from wand.image import Image
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = True
imageOverlay.evaluate(operator='set', value=imageOverlay.quantum_range*0.2, channel='alpha')
imageOverlay.save(filename='test_transparency.png')
问题已回答。
在 Wand 中设置图像不透明度的最佳方法是什么?
我在 Windows 7 计算机上使用最新版本的 ImageMagick (7.0.8-27 Q16 x64 2019-02-09) 和 Wand (0.5.1)。
我不想使用 transparent_color()。
我想为 alpha 混合叠加或合成设置图像的 alpha 通道。
transparentize() 不设置图像的不透明度。它只会使图像变暗。
我尝试了以下代码,但它产生了一个错误。
from wand.image import Image, CHANNELS
from wand.api import library
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = 'opaque'
library.MagickSetImageOpacity(imageOverlay.wand, 0.2)
imageOverlay.save(filename='test_transparency.png')
library.MagickSetImageOpacity(wand_imageOverlay.wand, 0.2) TypeError: 'NoneType' object is not callable
我也试过下面的代码,但它产生了一个错误。
from wand.image import Image, CHANNELS
from wand.api import library
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = 'opaque'
library.MagickEvaluateImage(imageOverlay.wand, 'multiply', 0.2, CHANNELS['alpha'])
imageOverlay.save(filename='test_transparency.png')
library.MagickEvaluateImage(wand_imageOverlay.wand, 'multiply', 0.2, CHANNEL S['alpha']) ctypes.ArgumentError: argument 2: : wrong type
在 Wand 中,将每个 alpha 通道像素设置为特定值(例如 0.2)的最紧凑代码是什么?
感谢fmw42的评论,现在我有了一个统一设置alpha通道像素值的Wand代码块。
from wand.image import Image
imageOverlay = Image(filename='mona-lisa.png')
imageOverlay.alpha_channel = True
imageOverlay.evaluate(operator='set', value=imageOverlay.quantum_range*0.2, channel='alpha')
imageOverlay.save(filename='test_transparency.png')
问题已回答。