php - Windows/Apache 上的 GD2 字体锁定

标签 php apache fonts gd

我有一个使用 GD2 创建图像的 PHP 脚本。它使用 TrueTypeFont 文件通过 imagettftext(和 imagettfbbox)在图像中生成文本。 这个脚本可以在 Windows 和 Linux 机器上运行,所以我决定从 Windows/Fonts 目录复制一个 TTF 文件到源代码中,否则我不知道去哪里找它。 我对这个解决方案一点也不满意,但我不知道有更好的解决方案。

但真正的问题是,在 Windows/Apache 上,字体文件在使用一次后会被锁定。解锁它的唯一方法是重新启动 Apache。锁定是一个问题,因为我无法在需要时删除文件,如果您使用的是版本系统,这尤其令人讨厌。

所以我的问题有 3 个解决方案:

  • 有没有办法避免在 Windows/Apache 上锁定字体文件(在源代码/webroot 中)?
  • 或者有没有办法避免复制字体文件并使用 native 可用的 TrueTypeFont? (尽可能独立于操作系统,可能的主机是 Windows 和 Linux - Mac,不是那么多)
  • 或者有没有一种方法可以避免使用 TrueTypeFont 并仍然使用 PHP GD2 获得漂亮的(别名)文本?

--

GD Support  enabled
GD Version  bundled (2.0.34 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.1.9
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled
XBM Support     enabled 

最佳答案

我在 GD 上也遇到过这样的问题,但是在 Debian 发行版上。我发现了两个可能导致 wamp 解决方案的解决方案:

a- 从 dotdeb.org libgd i/o native php GD 库安装捆绑图形库并使用 with-freetype 选项重新编译源代码,

b- 安装 imagick 而不是 GD

我在 debian 发行版上成功应用了解决方案“a”。

以下是我当时使用的一些链接:
imagick on wamp
howtoforge
drupal
libgd
boutell

关于php - Windows/Apache 上的 GD2 字体锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309567/

相关文章:

css - 无法解码下载的字体 Laravel

javascript - 字体很棒,devicon,简单字体未加载

php - PDO 在 PHP 5.4 和 Apache 2.4.3 上运行缓慢

php - MySQL排名如果为空则显示空白页

PHP:将 CSS 发送到头部而不是 body (Joomla 扩展)

python - Flask/wsgi - 写入日志文件或接触随机文件时权限被拒绝

apache - 自动化 Apache 配置部署

php - 用于页面处理的 RewriteRule 给出目标页面名称而不是请求

php - MySQL查询只完成了80%的查询,为什么它漏掉了20%呢?

java - 如何更改Java swing组件的默认字体大小