Php 使用Painty将HTML转换为图像文件

Php 使用Painty将HTML转换为图像文件,php,javascript,html,image-manipulation,Php,Javascript,Html,Image Manipulation,我在用颜料。到现在为止,一直都还不错。但我现在的问题是,如何让它创建图像文件,而不是将其输出到屏幕上。事实上,我希望它能够在用户甚至不通过AJAX访问页面的情况下创建它 最后,这就是它将如何流动。他们将去那里。从那里它运行一些ajax,从我指定的一些HTML创建一个图像,并在那里的配置文件中显示图像。他们也将能够链接到这个图像,并展示它,因此我希望它是一个文件的原因 旁注:我看了又看。如果有人找到一个更好的方法,使html的图像,请让我知道 我在做一个游戏卡。所以,如果你知道一个更好的方法来动态

我在用颜料。到现在为止,一直都还不错。但我现在的问题是,如何让它创建图像文件,而不是将其输出到屏幕上。事实上,我希望它能够在用户甚至不通过AJAX访问页面的情况下创建它

最后,这就是它将如何流动。他们将去那里。从那里它运行一些ajax,从我指定的一些HTML创建一个图像,并在那里的配置文件中显示图像。他们也将能够链接到这个图像,并展示它,因此我希望它是一个文件的原因

旁注:我看了又看。如果有人找到一个更好的方法,使html的图像,请让我知道

我在做一个游戏卡。所以,如果你知道一个更好的方法来动态地为我的用户制作它们,请让我知道


我不在windows服务器上。所以请不要让我参考任何需要的东西。我没有使用任何类型的C#/ASP。所以也请不要这样,谢谢。

好吧,Painty应该制作一个图像。确保按照painty.php的说明正确设置了标题:

$config = array(
    'input' => $_GET['html'],
    'output' => "png",
    'width' => 400,
    'height' => 300,
    'font_path' => "./",
    'font' => "tahoma.ttf",
    'font_bold' => "tahoma.ttf",
    '' => ''
);
$str = $config['input'];
if(get_magic_quotes_gpc()) 
{
    $str = stripslashes($str);
}
$im = painty($str);
//Set header. secured from header injection.
最重要的部分:

header("Content-Type: image/".str_replace("\r\n", "", $config['output']));
imagepng($im);
header
命令告诉服务器将该文件视为一个图像,即使它可能被命名为
image generator.php
。如果您也将该文件视为图像,则应该可以:

<a href="image-generator.php?username=foo&level=36&class=Demoman">
    <img src="image-generator.php?username=foo&level=36&class=Demoman" />
</a>

这是假设
image generator.php
已设置为接受$\u POST数据。然后,
image generator.php
根据该数据创建一个HTML文件,并将其作为输入发送给Painty

祝你好运

在imagepng($im)之后;您可以添加以下行:

imagejpeg($im, 'yoo.jpg', 75); //creates jpeg file at 75 percent quality
 $html='<h1>Painty Heading</h1><hr/><p>Welcome<br /><b>Yo...</b></p><p align = right><img src="http://static.php.net/www.php.net/images/php.gif" align="right" /></p>';
'font_path' => "./",
如果仍然没有;不工作,那么:

$html=@$_GET['html']之后;添加此行:

imagejpeg($im, 'yoo.jpg', 75); //creates jpeg file at 75 percent quality
 $html='<h1>Painty Heading</h1><hr/><p>Welcome<br /><b>Yo...</b></p><p align = right><img src="http://static.php.net/www.php.net/images/php.gif" align="right" /></p>';
'font_path' => "./",
我也推荐这些字体:

'font' => "VeraMono.ttf",
'font_bold' => "VeraMoBd.ttf",
在C:\Windows\fonts中查找这些文件