将 alpha 通道添加到使用 PerlMagick 读入的图像

Add an alpha channel to an image read in with PerlMagick

我正在读取没有 alpha 通道的图像:

my $image = Image::Magick->new;
$image->Read("./noalpha.png");

然后尝试将某些像素设置为不同的 color/alpha 值:

my @color = ( 0.2, 0.4, 0.6, $alpha );
$image->SetPixel( x=>$X, y=>$Y, channel=>'RGBA', normalize=>'True', color => \@color);

但是除非起始图像文件已经有一个 alpha 通道,否则我写的文件:

$image->Write('out.png');

不包含 alpha 通道。

我一直在通读 PerlMagick 文档,但我肯定没有在寻找正确的东西。有没有办法向我的 $image 对象添加 alpha 通道?

我是否需要使用原始图像的大小创建一个新图像对象并将所有内容重新写入该对象?

alpha通道的存在是图片的一个属性,需要开启:

$image->Set(alpha => 'On');