0

ImageCopyMerge は下の画像のみを処理するように見えますか?

試しに白と青の画像を重ねてオフセットしてみます

$dest = '../images/pictures/white.gif';
$src = '../images/pictures/blue.gif';
imagecopymerge($dest, $src, 12, 65, 0, 0, 175, 260, 50);
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);

その後、HTMLで出力を表示します

<img src="<?php echo($dest); ?>" />

私は何を間違っていますか?

4

2 に答える 2

1

このようにすると、イメージを破壊し、その後使用しているため、それが来ていませんでした。

<?php
$dest = '../images/pictures/white.gif';
$src = '../images/pictures/blue.gif';
imagecopymerge($dest, $src, 12, 65, 0, 0, 175, 260, 50);
imagegif($dest);
?>
<img src="<?php echo $dest; ?>" />   // your html code
<?php
imagedestroy($dest);
imagedestroy($src);
于 2012-10-10T10:37:25.227 に答える
1

画像を処理するには、まず関数を使用して画像を RAM にロードする必要がありimagecreatefrom*ます。

$dest = imagecreatefromgif(''../images/pictures/white.gif');
$src = imagecreatefromgif('../images/pictures/blue.gif');

以下もうまくいきません。

<img src="<?php echo($dest); ?>" />

imagegif()関数を呼び出すphpスクリプトにリンクする必要があります

<img src="your/script.php" />

または、画像データをデータ URLに変換する必要があります(ただし、画像が大きい場合はお勧めしません)。

ob_start();
imagegif($dest);
$imagedata = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/png;base64,"' . base64($imagedata) . '" />';
于 2012-10-10T10:39:22.870 に答える