3
我正在尝试使用Image :: Magick创建一个新图像,并将背景颜色设置为从上一步检索到的RGB值。但是,所有正在写出的内容都是黑色的图像。我知道RGB值是正确的,因为我验证了这些值。以下是我尝试过的一个例子。Perl - Image :: Magick RGB背景的新图像
# Read RGB value at pixel 2,11 in another image
my $swatchImg = new Image::Magick;
$swatchImg->Read($swatchPath)
my @rgb = $swatchImg->GetPixel(x=>2,y=>11);
undef $swatchImg;
# Create a new image, with the background set to the rgb value retrieved above
my $img = Image::Magick->new;
$img->Set(size=>"50x50");
$img->Set(background=>\@rgb);
$img->ReadImage();
我也试过:
$img->Colorize(fill=>\@rgb, opacity=>1);
任何想法?
编辑:
这个工作。不知道是否有任何清洁方法:
ReadImage("xc:rgb(" . $rgb[0]*100 . "," . $rgb[1]*100 . "," . $rgb[2]*100 . ")")
我是否使用十六进制代码或RGB值似乎并不重要。任何一个都会导致黑色图像。 – Steve
你能打印@rgbdec中的项目的值以及$ hexcolor吗? –
您的第二次修订工作!尽管直接使用RGB值会很好。 – Steve