|
|
1
3
不幸的是,在使用php&gdlib生成标题图形时,我还必须处理一些问题。在我的大部分项目中,我使用typo3作为cms。它可以创建图形头并利用gdlib。我不得不与质量问题作斗争:在我的本地开发机器(OSX)上,字体呈现出极好的质量,在生产服务器(Gentoo)上,字体变得模糊和“薄”。我不知道这些差异是因为不同的平台还是因为php/gdlib版本 轻微地 不同。我也遇到了像您这样的问题,特别是当web主机升级到新的php版本时。昨天的头条看起来不错,更新后,字符放错了地方,元音变音符不见了等等。
一
服务器端备选方案
可能是ImageMagick。这个小的php片段创建了一个示例图像(假设
图像如下: alt text http://i45.tinypic.com/nckym0.png
您可能需要使用
我在Windows上使用了此IM版本:
在此处阅读有关ImageMagicks文本处理功能的更多信息: http://www.imagemagick.org/Usage/text/ 虽然imagemagick现在是一个非常常见的软件包,但是仍然有一些主机没有安装im。但你可以下载一个静态编译的IM版本,你只需通过FTP上传到某个目录,使二进制文件可写,然后你可以用它来生成你的图像。我找到了一个关于如何做到这一点的教程,不幸的是只有德语版本,但我相信您可以从提供的shell命令中领会基本思想: http://www.website4all.de/support/support-typo3/imagemagick.html 虽然imagemagick是一个可行的选择,但我最终使用了 客户端 使用javascript创建嵌入字体的图形标题。 首先,我偶然发现 SIFR ( http://wiki.novemberborn.net/sifr/ )它用flash对象替换html内容以呈现字体。虽然一开始看起来很有前途,但我把它扔了,因为:
我本可以为您创建一个示例,但我的笔记本电脑上没有安装adobe flash cs。 总之,我终于找到了一个很好的客户端javascript库,它实现了我想要的: 夸丰 ( http://cufon.shoqolate.com/generate/ )将ttf文件上载到该服务,然后使用创建的javascript文件和cufon基本库,以便用图形标题替换标题元素。cufon使用canvas元素来实现这一点。阅读更多关于它是如何完成的 http://wiki.github.com/sorccu/cufon/about 我真正喜欢的是Cufon:
我对cufon唯一真正关心的是:许可。这可能是一个问题,尤其是商业字体。并非所有字体创建者都允许这种嵌入。如果有疑问,一定要得到书面许可。 但是无论如何,使用cufon的简单html站点可能如下所示:
生成的标题图像如下所示: alt text http://i45.tinypic.com/pon5g.png
正如您在html站点的源代码中看到的,您可以通过css定义字体大小(可能也需要调整)和颜色。然后你打电话
我知道,这些并不能直接回答您的问题,但是客户端标题的创建给了我非常好的结果,它使设置和代码变得更加容易,然后使用我尝试过的所有服务器端解决方案。如果我是你,我会给sifr或cufon一个机会,虽然我可能值得一试事先,特别是如果你被限制在服务器端解决方案。 |
|
|
2
1
可能gd库改变了,这就是问题的根源。它也可以是字体文件,但这种可能性较小。 你知道多久以前它还在工作吗? 是在php 4.3之前吗?当时gd库被捆绑到php中。 如果在4.3之前,请尝试独立gd库的不同版本。 见 http://www.libgd.org 如果它在php 4.3之后工作,那么只需尝试不同版本的php就可以找到它停止工作的地方。 解决方案:检查gd库版本并构建一个使用旧gd库(独立或捆绑)的php版本。 您也可以与您的ISP讨论,他们可能有一个记录,当他们更新了不同版本的PHP。 最终,你会发现到底是哪个版本的gd库破坏了你的软件。然后你需要提交一个bug报告,希望它能被修复。 或者可以创建一个小服务器,它只使用旧版本的php来提供动态创建的png。 |
|
|
3
1
另外,您确定TTF字体完全相同吗?因为你的版本有点 胆大的人 比原来的。 |