web-dev-qa-db-ja.com

PHP Gdライブラリを使用して画像にテキストを追加する方法

Image_creatorにイメージ作成コードがあります。

<?php
header("Content-Type: image/jpeg");
$im = ImageCreateFromGif("photo.gif"); 
$black = ImageColorAllocate($im, 255, 255, 255);
$start_x = 10;
$start_y = 20;
Imagettftext($im, 12, 0, $start_x, $start_y, $black, 'verdana.ttf', "text to write");
Imagejpeg($im, '', 100);
ImageDestroy($im);
?> 

画像出力用のファイルはimage.phpで、以下のコードが含まれています

<html>
<head>
</head>
<body>
    <img src="http://localhost/image_creator.php"/> 
</body>

</html>

Image.phpを実行すると、空白のページが表示されます。なぜそうですか?

13
roy mathew

これを使用してテキストを画像に追加します( PHP for Kids からコピー)

<?php
      //Set the Content Type
      header('Content-type: image/jpeg');

      // Create Image From Existing File
      $jpg_image = imagecreatefromjpeg('sunset.jpg');

      // Allocate A Color For The Text
      $white = imagecolorallocate($jpg_image, 255, 255, 255);

      // Set Path to Font File
      $font_path = 'font.TTF';

      // Set Text to Be Printed On Image
      $text = "This is a sunset!";

      // Print Text On Image
      imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);

      // Send Image to Browser
      imagejpeg($jpg_image);

      // Clear Memory
      imagedestroy($jpg_image);
    ?> 
43
Akhilraj N S

ここでの問題は、$black = ImageColorAllocate($im, 255, 255, 255); // <==これは黒ではなく、白//黒の場合は次のようになります、

$black = ImageColorAllocate($im, 0, 0, 0);
2
Ali Nawaz Hiraj

ここの問題は

$black = ImageColorAllocate($im, 255, 255, 255);

これは黒ではなく、白です。黒の場合は、

$black = ImageColorAllocate($im, 0, 0, 0);
1
user3335949