5 use \Intervention\Image\Image;
6 use \Intervention\Image\Imagick\Decoder;
7 use \Intervention\Image\Imagick\Color;
19 $filling = $this->
argument(0)->value();
20 $x = $this->
argument(1)->type(
'digit')->value();
21 $y = $this->
argument(2)->type(
'digit')->value();
23 $imagick = $image->getCore();
28 $filling = $source->
init($filling);
33 $filling =
new Color($filling);
37 if (is_int($x) && is_int($y)) {
40 if ($filling instanceof
Image) {
43 $tile = clone $image->getCore();
46 $tile->transparentPaintImage($tile->getImagePixelColor($x, $y), 0, 0,
false);
49 $canvas = clone $image->getCore();
52 $canvas = $canvas->textureImage($filling->getCore());
55 $canvas->compositeImage($tile, \Imagick::COMPOSITE_DEFAULT, 0, 0);
58 $image->setCore($canvas);
61 } elseif ($filling instanceof
Color) {
64 $canvas = new \Imagick;
65 $canvas->newImage($image->getWidth(), $image->getHeight(), $filling->getPixel(),
'png');
68 $tile = clone $image->getCore();
71 $tile->transparentPaintImage($tile->getImagePixelColor($x, $y), 0, 0,
false);
74 $alpha = clone $image->getCore();
77 $image->getCore()->compositeImage($canvas, \Imagick::COMPOSITE_DEFAULT, 0, 0);
78 $image->getCore()->compositeImage($tile, \Imagick::COMPOSITE_DEFAULT, 0, 0);
81 $image->getCore()->compositeImage($alpha, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
86 if ($filling instanceof
Image) {
89 $image->setCore($image->getCore()->textureImage($filling->getCore()));
91 } elseif ($filling instanceof
Color) {
94 $draw = new \ImagickDraw();
95 $draw->setFillColor($filling->getPixel());
96 $draw->rectangle(0, 0, $image->getWidth(), $image->getHeight());
97 $image->getCore()->drawImage($draw);