问题标签 [imagettftext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1473 浏览

php - imagettfbbox() 在文本中使用空格字符时返回错误的尺寸

我正在从 PHP 动态创建一个图形菜单,它只产生一个看起来像这样的图像:

然而问题是,我必须确定每个页面标题的 x 偏移量和宽度(例如,左偏移量和“一”的宽度(以像素为单位))才能使用 css 定位图像。

一切正常,除了包含空格的页面标题 - imagettfbbox() 返回错误的位置。我正在使用 arial 字体 (TTF)

关于我如何解决这个问题的任何建议?

编辑:我现在开始工作了,使用以下函数来确定文本的边界:

编辑 2:不幸的是,当我使用不同的字体大小和字体文件时,我总是得到错误的尺寸......

0 投票
1 回答
14381 浏览

php - 具有透明度/Alpha 背景的 PHP GD 文本

好吧,所以我在将我的文本放在部分透明的图像上时遇到了问题。我希望文本是实心的,但我希望图像的部分背景是透明的,而文本结束的部分是实心的,我有,问题是文本继承了其中一个的透明背景前几层。这是代码和输出示例,在该输出下我希望它看起来像。图像放置在浅灰色背景上,因此深灰色之间的图像周围的浅色边框是透明的,但没有其他东西应该特别是文本。似乎不是文本本身,而是文本块的背景是透明的。如您所见,这不是很理想。请帮忙,这是我完成项目剩下的唯一问题。:)

还不能发布图片,所以这里有一个链接到示例输出和期望结果的图片(orig):

在此处输入图像描述

0 投票
2 回答
1576 浏览

php - Accented characters not showing when using imagettftext with otf but showing with ttf

I'm using imagettftext to generate images from OpenType files. Everything works until I try to use an accented character (e.g. å) or a character such as √. In their place I get the .notdef glyph.

The fonts I'm using definitely have these characters. To make things even more frustrating, when I use a TTF everything works as expected.

Any ideas?

Thanks

0 投票
1 回答
1928 浏览

php - 为什么 imagettftext 不起作用?

我对“imagettftext”功能有疑问。如果我评论有问题的行(我看到一个黄色矩形),则以下代码有效。

但是,如果我取消注释有问题的行(以显示一些文本),我会遇到问题。Mozilla 写信给我“图像无法显示,因为它包含错误”。

可能这与访问我的字体文件(LucidaSansRegular.ttf)有关。我目录中的所有文件都有“-rw-r--r--”(包括喜欢的文件)。

有什么建议么?我需要在另一台服务器上添加该代码有效。

0 投票
5 回答
27966 浏览

php - 使用 imagettftext(),PHP 右对齐图像中的文本

我正在为我的用户设置动态论坛签名图像,并且我希望能够将他们的用户名放在图像上。我可以很好地做到这一点,但是由于用户名的长度不同,并且我想右对齐用户名,当我必须设置 x 和 y 坐标时,我该如何去做。

0 投票
1 回答
903 浏览

php - PHP imagettftext:字母的边界框相互叠加

我正在使用 PHPs 即时编写文本图像,imagettftext到目前为止效果很好,但我有一个非常奇怪的问题。

我们使用了一种非常斜体的字体,显然后面字母的边界框有时会将它们的背景叠加在前面的字母上,从而切入它们。

现在,我似乎找不到一种方法来告诉 imagettftext 为字体使用透明背景(对于图像本身来说这不是问题)。

那么,有人对如何摆脱这些削减提出建议吗?还是我们必须使用斜体较少的字体?

0 投票
1 回答
2340 浏览

php - JpGraph 中缺少字符

我有一个在 Windows 上运行并使用cp1252(aka Win-1252) 的网站,因此它可以显示西班牙语字符。该应用程序使用JpGraph 2.3生成一些图。这些绘图使用 Tahoma Open Type 字体系列来显示文本标签。ANSI 中提供了字符串(即cp1252),字体文件支持cp1252(实际上,*.ttf 文件是从系统的字体文件夹中复制的)。

它在从 PHP/5.2.6 到 PHP/5.3.0 的多个设置中运行良好。当我在PHP/5.3.1下运行应用程序时出现问题:所有非 ASCII 都被表示缺失或未知字符的空心矩形替换。

JpGraph 的文档对于它如何期望国际字符不是很精确。显然,文本由 imagettftext() 函数在内部处理,该函数需要 UTF-8。但是,将所有内容编码为 UTF-8 会破坏所有系统中的应用程序。在 ANSI 以前可以正常工作的地方,我得到了错误的字符(Ê而不是Ú)。在我丢失字符的地方,现在我得到一个 PHP 错误:

警告:imagettftext():any2eucjp():发生了什么事

您是否知道 GD2 从 PHP/5.3.0 到 5.3.1 的哪些变化可能会影响非 ASCII 字符的呈现?我应该如何为 JpGraph 提供 Win-1252 字符集中的字符串?

更新

明确地说,这个问题与 JpGraph 无关。我可以通过对 imagettftext() 的简单调用来重现该问题:

在 PHP/5.3.0 中,ANSI 和 UTF-8 都呈现正确的文本。在 PHP/5.3.1 中,ANSI 呈现错误字符,UTF-8 触发any2eucjp(): something happen内部错误。我敢说我遇到了一个错误...

0 投票
1 回答
1606 浏览

php - imagettfbbox & imagettftext - 调整大小、位置、旋转

好的,现在我正努力完成这项工作的正式时间为 10 小时,但每分钟我都离最终目标越来越远......
问题是,我需要创建一个函数、类或其他任何东西所选的 TTF 或 truetype 字体创建、正确调整大小并使用 url 给出的文本填充图像。图像不应长于该文本。我已经放弃了我所有的代码,到目前为止我得到的最好的东西是从网上获取的......

这段代码没问题,尽管最后一个或第一个后者的边缘有时会部分隐藏,或者只是它不适合创建的图像(取决于字体大小),这不是字体较小的问题。我真正需要的功能是通过改变图像的旋转来改变整个图像的比例,使文本适合。

示例:http: //img199.imageshack.us/img199/9368/32739521.jpg

另外,如果有完成的函数或类可以做到这一点,那就太好了.. :'( :)

0 投票
1 回答
141 浏览

c - Imagettftext like C 函数

我需要实现一个类似于 PHP 的 imagettftext 函数的功能。我需要输入一个文本并基于它输出一个 bmp 图像。我已经看过 freetype 但它逐个字符转换,不适合将整个文本转换为图像。我现在被困住了。如何访问 imagettftext 函数的源代码,或者是否有另一个库公司可以做到这一点?

0 投票
2 回答
154 浏览

fonts - 转换为图像时,文本中的字符之间出现无法解释的间距

一段时间以来,我一直在使用带有 imagettftext 的系统来向网站添加 nog 标准字体。几个月前我放弃了这种方法以获得更好的选择,但我在一年前创建的一个网站上遇到了问题。

该网站已移至新服务器,除了稳定性问题和性能之外,该服务器还具有更新的 php 版本以及其他改进。除了一个细节外,这一举动非常完美。从那时起,所有出现的生成的图像文本按钮在特定字母之间都有间距。最值得注意的是 W 和 J。生成图像的脚本本身似乎没有错,因为它是从头开始重建的,并且使用了其他程序员使用的多个实现。

不同的字体显示不同的结果,不少没有显示问题。

现在,合乎逻辑的解决方案是切换到像 cufon 甚至 fontface 这样的系统,但这两种解决方案都有两个主要缺点。

  1. 这样做非常耗时(实现 imagettftext 解决方案的低效方式是我停止使用它的原因之一)
  2. 该站点还有一个 html 时事通讯系统,显然这两种解决方案都不支持。

所以基本上我很难过。我不确定我应该从这里走向哪个方向,任何帮助将不胜感激。