2014-12-03 184 views
0

我想通过使用PHP创建一个图像。这张图片应该有文字。我只能通过使用imagestring函数来显示文本,但该函数只允许最多5个字体的字体。事实证明,这对我来说太小或很小。然后,我通过使用imagettftext函数了解到,您可以在图像上放大想要的文字。这个功能对我来说根本不起作用。当我在研究这个问题时,我在另一个stackoverflow问题中发现了这段代码。增加php字体大小

<?php 
$image = imagecreate(400,300); 
$blue = imagecolorallocate($image, 0, 0, 255); 
$white = ImageColorAllocate($image, 255,255,255); 

if(!isset($_GET['size'])) $_GET['size'] = 44; 
if(!isset($_GET['text'])) $_GET['text'] = "Hello, world!"; 

// Set the enviroment variable for GD 
putenv('GDFONTPATH=' . realpath('.')); 

// Name the font to be used (note the lack of the .ttf extension) 
$font = 'arial.ttf'; 

imagettftext($image, $_GET['size'], 15, 50, 200, $white, $font, $_GET['text']); 
header("content-type: image/png"); 
imagepng($image); 
imagedestroy($image); 
?> 

我看到滑稽的脸和我调用它的浏览器奇怪的字符。这段代码有什么错误,还有哪些其他选项可用于增加PHP中的字体大小?

UPDATE 这个经过反复研究,我已经试过了网上给出了这个问题的所有建议和答案,但它仍然不会显示图像。我在字体类型字符串前添加了./。我甚至从我的电脑上传了一个Microsoft字体类型到服务器,并且仍然以相同的结果结束。

UPDATE 我没有忘记提及,我实际上没有转移字型ARIAL.TTF从我的计算机到服务器到文件夹中所有我的PHP文件驻留的。

+2

是不是宋体拼写为“宋体”? – dmikester1 2014-12-03 20:16:52

+0

@ dmikester1我刚纠正拼写,仍然一样。 – ThN 2014-12-03 20:19:12

+0

说明说,跳过字体的扩展名,不知道是否重要 – dmikester1 2014-12-03 20:22:48

回答

1

从文档

fontfile您要使用的TrueType字体的路径。

根据其GD库的PHP版本使用,当 fontfile没有领先/时则.ttf将被追加到 文件名开始,图书馆将尝试沿着库搜索该文件名 - 定义的字体路径。

取出的.ttf或添加一个绝对路径

+0

就是这么简单!!!!! :) 谢谢,我的朋友。有用。我刚刚复制了上面的代码,并删除了.ttf和VIOLA !!!!这只是我没有用这个代码做的事情。谢谢。 – ThN 2014-12-04 14:41:28