Example
function compositeImage()
{
$img1 = new \Imagick();
$img1->readImage(realpath("images/Biter_500.jpg"));
$img2 = new \Imagick();
$img2->readImage(realpath("images/Skyline_400.jpg"));
$img1->resizeimage(
$img2->getImageWidth(),
$img2->getImageHeight(),
\Imagick::FILTER_LANCZOS,
1
);
$opacity = new \Imagick();
$opacity->newPseudoImage(
$img1->getImageHeight(),
$img1->getImageWidth(),
"gradient:gray(10%)-gray(90%)"
);
$opacity->rotateimage('black', 90);
$img2->compositeImage($opacity, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
$img1->compositeImage($img2, \Imagick::COMPOSITE_ATOP, 0, 0);
header("Content-Type: image/jpeg");
echo $img1->getImageBlob();
}