GD库使用字体路径问题

来源:互联网 发布:剑三万花萝莉捏脸数据 编辑:程序博客网 时间:2024/04/27 21:42
一个小小的问题,用GD生成小图片,正常的写完程序之后提示是两个warning:Could not find/open font。分别是imagettfbbox()和imagettftext()函数找不到所使用的字体,看了一下刚好我的Linux确实安装该字体,于是想起拷贝到XP实验机上试试,迅速的配置好了XP上的PHP和Apache,正想着问题迎刃而解的时候出来了更多的问题,反而头一下晕了。折腾一番后找到问题所在,原来这两个函数中使用的font文件路径比较怪异,即使在同一目录下也需要写完整,例如$font = "./Arial.ttf"。比较合适的解决办法是设置GD环境,使用putenv('GDFONTPATH=' . realpath('.');以上是假设.ttf文件在同一目录下,如果有专门的font文件夹,后面换成realpath('./font/')。这样的话在下面就可以直接给$font赋值为$font = 'Arial';后面再调用$font时就不会出错了。

总结来讲,在一个问题没解决的情况下去重新配个环境来试这个问题导致多个问题重叠,把自己搞晕了,例如WIN下装了PHP没开启GD扩展之类的小问题

另外后来发现WIN常用的字体有部分也可以在Linux下使用,相应的我的UBUNTU是有相应安装包的
sudo apt-get install msttcorefonts
其他的套件就自己寻找下了,其中已经包含很多WIN下的常用字体了,包括
Andale Mono, Arial, Comic Sans MS, Courier New,GeorgiaImpact, Times New Roman, Trebuchet MS,Verdana, Webdings
原创粉丝点击