我在我的书评页中,采用的是后台动态生成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日补记:后来发现,这个和文件保存的编码有关……
Leave a Reply