[PHP-users 28611] Re: (無題)

KOYAMA Tetsuji koyama @ hoge.org
2006年 3月 2日 (木) 19:24:50 JST


小山です。

On 3/1/06, 1000 @ e-liveshot.com <1000 @ e-liveshot.com> wrote:
> 1.jpg(背景画像)と2.jpg(物体の画像)が存在する。これを重ね合わせる。
> 重ね合わせて表示させる(本当は保存したい)。
> ※画像サイズは両方とも同じ大きさ96*96

> imagecopymerge($dst_im2,$src_im2,0,0,0,0,96,96,50);

その前で imagecolortransparent() で透明色を指定しているのだから、
imagecopymerge に渡す pct は 100 で良いんじゃないでしょうか。

手元では、以下のコードでそれっぽい動作をしていますけど。

<?php
$bg = imagecreatefromjpeg('/tmp/bg.jpg');
$fg = imagecreatefromjpeg('/tmp/fg.jpg');

$trans_color = imagecolorat($fg, 0, 0);
imagecolortransparent($fg, $trans_color);

$result = imagecopymerge($bg, $fg, 0, 0, 0, 0, 96, 96, 100);
imagejpeg($bg, '/tmp/out.jpg');
?>

> imagejpegで存在しないファイルを作成しようと試みたが結果は
> Warning imagejpeg():Unable to open '5.jpg' for writing in
> とでてしまった。

これはおそらく direcotry の書き込み権限の話なので、imageXXX
関数の挙動とは無関係です。

--
    小山哲志@ビート・クラフト
    koyama @ beatcraft.com
    koyama @ hoge.org


PHP-users メーリングリストの案内