【问题标题】:Increase php font size增加php字体大小
【发布时间】:2015-02-01 13:10:53
【问题描述】:

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

<?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 中的字体大小?

更新 经过对此问题的大量研究,我已经尝试了在线针对此问题提供的所有建议和答案,但仍然无法显示图像。我在字体类型字符串前面添加了 ./。我什至将 Microsoft 字体类型从我的计算机上传到服务器,结果仍然相同。

更新 我确实忘记提到我确实将字体类型 arial.ttf 从我的计算机传输到服务器到我所有 php 文件所在的文件夹中。

【问题讨论】:

  • Arial 不是拼写为“Arial”吗?
  • @dmikester1 我刚刚更正了拼写,还是一样。
  • 说明说要跳过字体上的扩展名,不确定是否重要
  • 虽然,查看示例,似乎每个人都在使用该扩展程序。有人确实提到了这一点,像这样在前面贴一个./:“$myfont =”./coolfont.ttf”;
  • @dmikester1 做出的改变仍然没有改变。

标签: php image browser font-size imagettftext


【解决方案1】:

来自文档

fontfile 您希望使用的 TrueType 字体的路径。

取决于 PHP 使用的 GD 库的版本,何时 fontfile 不以前导 / 开头,然后 .ttf 将被附加到 文件名和库将尝试搜索该文件名 沿着库定义的字体路径。

删除.ttf或添加绝对路径

【讨论】:

  • 就是这么简单!!!!!! :) 谢谢,我的朋友。有用。我只是照原样复制了上面的代码并删除了 .ttf 和 VIOLA!!!!这是我没有用这段代码做的唯一事情。谢谢。
猜你喜欢
  • 2018-07-16
  • 1970-01-01
  • 2018-04-18
  • 2018-12-12
  • 2018-12-29
  • 2013-03-02
  • 2023-03-11
  • 2013-04-03
  • 1970-01-01
相关资源
最近更新 更多