1

なんらかの理由で2つの画像をマージできないようで、何が間違っているのかわかりません。これはまだ少し新しいです。これが私が持っているコードです:

$source = 'http://localhost:8888/develop/trunk/develop/wp-content/uploads/2012/07/card01-80x80.jpg';
$im = imagecreatetruecolor(200, 200);
$black = imagecolorallocate($im, 0, 0, 0);
// Make the background transparent
imagecolortransparent($im, $black);
$text_color = imagecolorallocate($im, 255, 255, 255);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagejpeg($im, WP_UPLOADS_PATH . 'post-image-generator/1.jpg');


//merge images
$thumb = imagecreatefromjpeg($source);
$destination = imagecreatefromjpeg(WP_UPLOADS_PATH . 'post-image-generator/1.jpg');


imagecopymerge($destination, $thumb, 0, 0, 0, 0, 0, 0, 100);


imagejpeg($destination, WP_UPLOADS_PATH . 'post-image-generator/1.jpg');

echo "
    <style></style>
    <img src='" . WP_UPLOADS_URL . 'post-image-generator/1.jpg' . "' />
        ";


imagedestroy($thumb);
imagedestroy($destination);
imagedestroy($im);

次を生成します。

生成された画像

ただし、次の画像も含める必要があります。

画像がありません

どんな助けでも大歓迎です

4

1 に答える 1

1

実際にテストせずに私が知る限り、それはこれです:

imagecopymerge($ destination、$ thumb、0、0、0、0、0、0、100 ;

コピー元の領域は$thumbの0,0から始まり、コピーされる領域の幅と高さは0と0です。ソース画像は80x80であり、全体を上にコピーする必要があるためです。最初の画像の左隅を次のように変更する必要があります。

imagecopymerge($ destination、$ thumb、0、0、0、0、80、80、100);

これにより、80ピクセルの画像全体が$destinationの左上隅にコピーされます。

于 2012-07-18T08:07:04.337 に答える