我正在尝试在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���������>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(��="" (��="" (��?��"="">
感谢您的帮助! 比尔
答案 0 :(得分:0)
您的txt_to_png
函数正在将图像创建为二进制代码。您需要添加src="somefile.php?textin=abcd
并在somefile.php
中使用参数txt_to_png($_GET['textin]);
调用您的函数