PHP Manual

例1 imagecopymerge() による半透明なすかしの作成

<?php
// スタンプと、それをすかしとして適用する写真を読み込みます
$im imagecreatefromjpeg('photo.jpeg');

// まず、スタンプ画像を GD で作成します
$stamp imagecreatetruecolor(10070);
imagefilledrectangle($stamp0,099990x0000FF);
imagefilledrectangle($stamp9,990,600xFFFFFF);
$im imagecreatefromjpeg('photo.jpeg');
imagestring($stamp52020'libGD'0x0000FF);
imagestring($stamp32040'(c) 2007-8'0x0000FF);

// スタンプの余白を設定し、スタンプ画像の幅と高さを取得します
$marge_right 10;
$marge_bottom 10;
$sx imagesx($stamp);
$sy imagesy($stamp);

// スタンプを、50% の不透明度で写真に重ねます
imagecopymerge($im$stampimagesx($im) - $sx $marge_rightimagesy($im) - $sy $marge_bottom00imagesx($stamp), imagesy($stamp), 50);

// 画像をファイルに保存し、メモリを開放します
imagepng($im'photo_stamp.png');
imagedestroy($im);

?>

この例は、imagecopymerge() を使ってスタンプを元画像にかぶせます。 これを使うと、スタンプの不透明度を設定することができます。 今回の例では 50% の不透明度に設定しています。 この半透明のすかしを用いる方法は、著作権つきの画像を保護するのに便利です。 すかしをとるのは非常に難しく、またもとの画像の見栄えも損ねません。


PHP Manual