function transparentPaintImage($color, $alpha, $fuzz, $inverse) { $imagick = new \Imagick(realpath("images/BlueScreen.jpg")); //Need to be in a format that supports transparency $imagick->setimageformat('png'); $imagick->transparentPaintImage( $color, $alpha, $fuzz * \Imagick::getQuantum(), $inverse ); //Not required, but helps tidy up left over pixels $imagick->despeckleimage(); $canvas = new Imagick(); $canvas->newPseudoImage( $imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard" ); $canvas->compositeimage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0); $canvas->setImageFormat('png'); header("Content-Type: image/png"); echo $canvas->getImageBlob(); }