Я пытаюсь создать новое изображение, используя Image :: Magick, и установить для цвета фона значение RGB, полученное на предыдущем шаге.Тем не менее, все, что пишется, это черное изображение.Я знаю, что значения 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 . ")")