imagettftext的问题解决

我在我的书评页中,采用的是后台动态生成jpg文件的方法,具体代码不赘述。 在XP下,程序运行正常:

  • 可以从数据库中读出经编码的图形文件;
  • 解码之;
  • 根据解码后的字符串创建JPG文件;
  • 在创建的JPG文件上继续写上版权声明;
  • 然后返回到调用页面,图片及版权文字(也是图片的一部分了)得到显示。

换到VISTA后,发现图形可以正常显示,但是我要加上去的版权文字并未显示,而更诡异的是在PhpED的调试环境下是可以的,在FF/IE中显示就不可以。

根本没有头绪如何解决,今天采用了一个比较“死马当成活马医”的方法。 原来的代码:

imagettftext($im, 9, 0, 5, 10, $color, \’msyh.ttf\’, $copytext1);

现在我改为:

imagettftext($im, 9, 0, 5, 10, $color, \’c:windowsfontsmsyh.ttf\’, $copytext1);

问题解决!

想来是在Vista下PHP搜索字体资源的方式有了改变。但是在PhpED的调试环境中为什么又可以呢?难道是某些magic settings在起作用?

不管那么多了。好了就行!

2008年4月4日补记:后来发现,这个和文件保存的编码有关……

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *