这是否可以在php中创建具有各种文本字体,样式,格式和具有背景图像的对齐的gif图像?
例如,我有一个背景图片
我要在背景图片上插入的图像是
输出gif图像应该是这样的
我尝试了这个代码
<?php
// Create a new image instance
$im = imagecreatetruecolor(300, 250);
$img = imagecreatefrompng('back.png');
// Make the background white
imagefilledrectangle($im, 0, 0, 300, 250, 0xEFEFEF);
// Draw a text string on the image
imagestring($im, 20,20, 40, 'Heading1', 0x000000);
imagecopymerge($img, $im, 0, 0, 0, 0, 300, 250, 70);
// Output the image to browser
header('Content-Type: image/gif');
imagegif($img,'test.gif');
imagedestroy($im);
?>
但遗憾的是它没有按照需要提供输出,我想在输出图像中显示更多内容到背景图像。
答案 0 :(得分:0)
这个设计:
您可以使用此代码:
<?php
// Create a new image instance
$img = imagecreatefrompng('back.png');
// Draw a text string on the image
// imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )
imagestring($img, 5, 20, 30, 'Heading1', 0x000000);
imagestring($img, 3, 180, 30, 'Heading 2 test desc', 0x000000);
imagestring($img, 3, 20, 80, 'Text info 3', 0xFF0000); //red
imagestring($img, 1, 180, 80, 'Demonstration text', 0x000000);
imagestring($img, 5, 400, 170, 'Price here', 0xFF0000); //red
$im = imagecreatefrompng('plane.png'); //load pic 2
imagecopymerge($img, $im, 0, 130, 0, 0, 165, 71, 70);
imagedestroy($im);
// Output the image to browser
header('Content-Type: image/gif');
imagegif($img);
imagedestroy($img);
?>
imagestring()
函数仅限于内置的,相当难看的字体,并且大小选项仅为1到5.您可以使用另一个函数替换TTF字体,如下所述。
要更改提供自己的TTF格式字体所需的字体,请将它们放在与脚本相同的文件夹中,然后将imagestring()
函数替换为此字体。参数非常相似,您自己更换代码应该是微不足道的。这是解释如何使用imagettftext()
- 函数的链接。