php - imagemagick用黑色掩盖图像
问题描述:
我想用带有一些不透明度的黑色遮盖原始图像。想让原始图像稍微暗一些。我用写这样的代码,但它不工作:php - imagemagick用黑色掩盖图像
$image = new Imagick("test.jpg");
$drawblacklayer = new ImagickDraw();
$drawblacklayer->setFillColor('black');
$drawblacklayer->setFillOpacity(0.8);
$coordinate = array(array('x' => 0, 'y' => 0), array('x' => 200, 'y' => 200)); // seems need to use the original size of $image, but it's testing
$drawblacklayer->polygon($coordinate);
$image->drawImage($drawblacklayer);
header('Content-type: image/png');
echo $image;
答
如果你期待一个黑暗的广场,你$coordinate
阵列需要有定义的所有点。
$coordinate = array(
array('x' => 0, 'y' => 0), // Top-Left
array('x' => 200, 'y' => 0), // Top-Right
array('x' => 200, 'y' => 200), // Bottom-Right
array('x' => 0, 'y' => 200), // Bottom-Left
);
$drawblacklayer->polygon($coordinate);
或使用ImagickDraw::rectangle方法。
$drawblacklayer->rectangle(0, 0, 200, 200);
什么不行? – 2014-09-02 18:21:40
@LorenzMeyer我期望看到图片中的黑暗方块,但输出是没有改变的原始图片 – abrahab 2014-09-02 18:23:38