Php 从html创建图像

Php 从html创建图像,php,gd,Php,Gd,我想从html创建一个图像,我不能使用painty,因为它已经过时,不再工作,我想要类似的东西。 我已经尝试过像这样使用GD库创建图像 <?php $html_code = "<b> this is the body </b> "; // Create the image $img = imagecreate("300", "600"); imagecolorallocate($img,0,0,0); $c = imagecolorallocate($

我想从html创建一个图像,我不能使用painty,因为它已经过时,不再工作,我想要类似的东西。 我已经尝试过像这样使用GD库创建图像

<?php
$html_code = "<b> this is the body </b> "; 
// Create the image 
 $img = imagecreate("300", "600"); 
 imagecolorallocate($img,0,0,0); 
 $c = imagecolorallocate($img,70,70,70); 
 imageline($img,0,0,300,600,$c2); 
 imageline($img,300,0,0,600,$c2); 

$white = imagecolorallocate($img, 255, 255, 255); 
imagettftext($img, 9, 0, 1, 1, $white, "arial.ttf", $html_code); 

// Display the image 
header("Content-type: image/jpeg"); 
imagejpeg($img);

GD库没有能力呈现html代码并将其绘制在图像上。如果您想绘制粗体文本,您需要使用粗体字体,例如arialbd.ttf

简而言之,如果没有浏览器,您无法呈现HTML


一个较长的答案是,您可以在浏览器中呈现HTML,但无法轻松地自动捕获屏幕截图(有很多方法可以做到这一点,但activeX是一个非常糟糕的主意)。更好的方法是使用HTML客户端,该客户端可以呈现为合适的格式-例如,也有用于此的HTML客户端

您的意思是它打印“这是正文”?这很正常。这是web浏览器呈现html标记的工作。php文档的imagettftext页面上有一些提示
imagettftext
不使用HTML作为输入,而是纯文本-所以你不能这样做。我不想只画粗体字体,我想画图像内部的图像,br标记为新行、斜体等等,在画图像之前如何渲染它们?恐怕不可能。这里介绍了使用GD库所能做的一切()。您应该使用GD提供的函数绘制所有内容