创建文本到图像以通过函数调用在html src中呈现

时间:2014-11-21 13:04:14

标签: php image

我正在尝试在php中渲染由函数调用生成的图像。

我复制粘贴了一个在php上找到的功能,可以在这里找到其他地方。

 function txt_to_png($textin){
  //Set the Content Type
  header('Content-type: image/jpeg');
  // Create Image From Existing File
  $jpg_image = imagecreatefromjpeg('../images/100.jpg');
  // Allocate A Color For The Text
  $white = imagecolorallocate($jpg_image, 255, 255, 255);
  // Set Path to Font File
  $font_path = '../fonts/lato-regular.ttf';;
  // Set Text to Be Printed On Image
  $text = "This is a sunset!"; // just hardcoding for moment
  // 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);
 }

我按如下方式调用该函数:

Print ('<img itemprop="image" src="');
txt_to_png($my_text_input);
Print ('">');

但它没有正确渲染图像:

<img itemprop="image" src="�����JFIF���������&gt;CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality
���C�     

 $.' " ,#(7),01444'9="82<.342���C" ="" ="" 2!!22222222222222222222222222222222222222222222222222����d�d"��������������="" �������}�!1aqa"q2���#b��r��$3br�="" %&'()*456789:cdefghijstuvwxyzcdefghijstuvwxyz�����������������������������������������������������������������������������������="" ������w�!1aqaq"2�b����="" #3r�br�="" $4�%�&'()*56789:cdefghijstuvwxyzcdefghijstuvwxyz���������������������������������������������������������������������������="" ��?��j(��="" (��="" (��?��"="">

感谢您的帮助! 比尔

1 个答案:

答案 0 :(得分:0)

您的txt_to_png函数正在将图像创建为二进制代码。您需要添加src="somefile.php?textin=abcd并在somefile.php中使用参数txt_to_png($_GET['textin]);调用您的函数