使用透明PNG作为剪辑蒙版

Jed*_*edi 9 php gd imagick

是否可以拍摄此图片:

image1 http://i34.tinypic.com/2d8neo0.png

并应用此面具:

面具http://i35.tinypic.com/2091450.png

把它变成这个:

image2 http://i37.tinypic.com/23m7apv.png

使用GD还是Imagick?我知道可以使用形状来掩盖图像,但我不确定如何继续使用预先创建的透明图像.:■

小智 13

使用Imagick和ImageMagick版本> 6(我不知道它是否适用于旧版本):

// Set image path
$path = '/path/to/your/images/';

// Create new objects from png's
$dude = new Imagick($path . 'dude.png');
$mask = new Imagick($path . 'dudemask.png');

// IMPORTANT! Must activate the opacity channel
// See: http://www.php.net/manual/en/function.imagick-setimagematte.php
$dude->setImageMatte(1); 

// Create composite of two images using DSTIN
// See: http://www.imagemagick.org/Usage/compose/#dstin
$dude->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0);

// Write image to a file.
$dude->writeImage($path . 'newimage.png');

// And/or output image directly to browser
header("Content-Type: image/png");
echo $dude;
Run Code Online (Sandbox Code Playgroud)


Cry*_*ion 1

我认为您正在寻找imagealphablending。我用它来制作水印,我相信它会达到您想要的效果。

  • 反转你的面具。使中心变暗,边缘褪色为白色。然后将图像裁剪或缩放至蒙版尺寸。当然,这假设背景是白色的。如果白色不可行,你会做黑白吗?如果是这样,请选择一种奇怪的颜色(亮粉色或彩绿色,如果您也有颜色,这两种颜色都可以)。使真彩色图像和蒙版具有该颜色,然后将该调色板颜色设置为透明。所以,是的,我认为它会起作用,只是需要从各个角度进行尝试。 (3认同)
  • 不,我不相信会这样。我不是合并图像,而是使用一张图像来掩盖现有图像。结果图像是 Alpha 透明的。 (2认同)