在图像上写入文本作为图像显示

时间:2013-09-25 11:32:45

标签: php

我在php中有一个像这样的图像

enter image description here

现在我想在运行时在白色文本字段上编写Number。然后我想将它显示为单个图像。我怎么能这样做?

我试图搜索并找到不同的结果,但没有一个对我有效。

我尝试了http://blog.doh.ms/2008/02/12/adding-text-to-images-in-real-time-with-php/

这是http://php.about.com/od/phpfunctions/g/imagestring_php.htm

它显示的内容我不明白。

"‰PNG  IHDR‚2ª‘ËPLTEÿA£vIDAT(‘c`Ø?óþaà1@a“æmcŠ06 ‹cˆ$ngï1ÀPc 6çï†Ä=gŽ¥å²1ó60$n¸
‘cØÀØp.R!‚¡Fhα    sl€v5oøð¡Æ&ê    •@ÓÀI›Å1U•/LIEND®B`‚"

我不确定为什么会这样。我错过了什么吗?

更新

我做了这个

php打开

    $string = "BSThakrar";
    $image = ImageCreateFromJPEG("images/temp.jpg");
    $cor = imagecolorallocate($image, 0, 0, 0);

    imagestring($image,5,126,22,urldecode($string),$cor);

    header('Content-type: image/jpeg');
    imagejpeg($image,NULL,100);    

php关闭。

它给出了这个输出 enter image description here

1 个答案:

答案 0 :(得分:0)

<?php
$string = "BSThakrar";
$image = imageCreateFromJpeg("image.jpeg");
$cor = imagecolorallocate($image, 0, 0, 0);
imagestring($image,5,126,22,urldecode($string),$cor);
header('Content-type: image/jpeg');
imagejpeg($image,NULL,100);
?>

它必须是jpg图像而不是你尝试的png,$ string也可以被你想要的输入替换。

如果您想使用png,请更改为:

<?php
$string = "BSThakrar";
$image = imageCreateFromPng("image.png");
$cor = imagecolorallocate($image, 0, 0, 0);
imagestring($image,5,126,22,urldecode($string),$cor);
header('Content-type: image/png');
imagepng($image,NULL);
?>