如何使用 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 时,我只得到一个空白页。为什么会这样?

原文由 roy mathew 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 303
2 个回答

使用它向图像添加文本(从 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);
?>

原文由 Akhilraj N S 发布,翻译遵循 CC BY-SA 4.0 许可协议

这里的问题是, $black = ImageColorAllocate($im, 255, 255, 255); //<==这不是黑色,它是白色的//黑色应该是这样的,

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

原文由 Ali Nawaz Hiraj 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题