0

イメージにテキストを埋め込もうとしています。このスクリプトを使用していますhttp://www.phpjabbers.com/put-watermark-on-images-using-php-php20.html

これは、1 つのテキストでうまく機能します。たとえば、次のように言います。

テキストワン テキストツー
テキスト
スリー

1つ下に1つ欲しい.どうすればこれを達成できますか.私は使用しようとしました

<p>$handlerData = "textone"; ?></p><p>$handlerData = "texttwo"; ?></p><p>$handlerData = "textthree"; ?></p>

しかし、これは最初のテキストを埋め込むだけです。

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

4

2 に答える 2

0

OS のリターン文字 (\r、\n、または \r\n) を使用します。HTML は PHP/GD によってレンダリングされません。

[編集] 投稿したコードは、画像にテキストをオーバーレイすることに関連することは何もしませんが、変数 (この場合は $handlerData) に行を改行するキャリッジ リターン文字を含める必要があります。

$handlerData = "textone \r\n"
.              "texttwo \r\n"
.              "textthree \r\n";

これはうまくいくかもしれません:

$handlerData = "textone
texttwo
textthree ";

ただし、タブやその他の理由により、空白が空白になります。これが機能しない場合は、実際のコードを投稿する必要があります

于 2012-06-26T10:16:10.217 に答える
0

使用できます\n

$handlerData = 'textone'."\n".'texttwo'."\n".'textthree';

または、次のように関数を変更できます。

function watermarkImage ($source, $text, $destination, $x = 10, $y = 20) { 
   list($width, $height) = getimagesize($source);
   $image_p = imagecreatetruecolor($width, $height);
   $image = imagecreatefromjpeg($source);
   imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); 
   $black = imagecolorallocate($image_p, 0, 0, 0);
   $font = 'arial.ttf';
   $font_size = 10; 
   imagettftext($image_p, $font_size, 0, $x, $y, $black, $font, $text);
   if ($DestinationFile<>'') {
      imagejpeg ($image_p, $destination, 100); 
   } else {
      header('Content-Type: image/jpeg');
      imagejpeg($image_p, null, 100);
   };
   imagedestroy($image); 
   imagedestroy($image_p); 
};

$x と $y を使用してテキストを配置できるようになりました。

于 2012-06-26T10:19:35.143 に答える