9

この画像を撮ることは可能ですか:

画像1

そして、このマスクを適用します:

マスク

そして、これを次のようにします。

画像2

GD または Imagick を使用していますか? 図形を使用して画像をマスクできることは知っていますが、事前に作成されたアルファ透明画像を使用してそれを行う方法がわかりません。:s

4

3 に答える 3

15

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;
于 2010-02-28T13:32:26.573 に答える
1

imagealphablendingを探していると思います。私は透かしに使用していますが、あなたが探している効果が得られると思います.

于 2009-11-16T14:53:26.800 に答える
0

(ImageMagick) NOT GD との素晴らしい作業..この質問のタグは GD です!!

このリンクの GD バージョンは次のとおりです。 PHP GD Use one image to mask another image, including transparents

于 2012-06-05T12:16:02.933 に答える