0

画像A(アップロードされた画像)と画像B(透かし画像)を持つ画像を作成しようとしています。私の問題は、画像AとBで作成される画像のサイズを下から拡張する適切な方法が得られないことです。

私のコードは-

$img_width=imagesx($img);
$img_height=imagesy($img);
$watermark=imagecreatefrompng($watermark);
$watermark_width=imagesx($watermark);
$watermark_height=imagesy($watermark);

$image=imagecreatetruecolor($img_width, $img_height+35);
imagealphablending($image, false);
$dest_x=$img_width-$watermark_width;
$dest_y=$img_height-$watermark_height+20;

imagecopy($img, $watermark, $dest_x, $dest_y, 0, 0,$watermark_width, $watermark_height);
imagesavealpha($img, true);
imagejpeg($img, $config['pdir']."/t/l-".$thepp, 90);
}

私がこのコードで得ているのは-

結果http://www.9gag.in/pdata/t/l-76.jpg

透かし画像が、作成したい画像と完全にマージされていないことがわかります。透かしが適切にフィットする宛先画像の拡張領域が必要です。

4

1 に答える 1

0

あなたが書くとき:

$dest_y=$img_height-$watermark_height+20;

私はあなたが本当に欲しいと思います:

$dest_y=$img_height-$watermark_height-20;

画像の上部はY=0であるため、下部に行くほど身長が高くなります。

于 2013-01-25T22:18:31.843 に答える