现在一般的 PHP 主机都支持 GD 库和 FreeType/TrueType,普通的画字符串的函数 imagestring 只能指定字体大小,不能指定字体名称。像 imagettftext 这样的函数可以指定字体名称和字符串显示的角度,它的原型是:

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

注意这里的 $fontfile 是个字体文件,不是字体名,我刚开始就搞错了,给它传递的是 "Arial" 或是 "Arial.ttf" 而不能显示出任何东西来。在 Windows 下字体文件一般都在 c:/windows/fonts/ 目录中,所以在 Windows 下用 imagettftext 使用 TrueType 字体时的代码例子如下:

<?php

header("Content-type: image/png");

$img = imagecreate(120, 50);

$bg_color = imagecolorallocate($img, 200, 200, 255);

$font_color = imagecolorallocate($img, 0,0,255);

//注意,这个参数是 fontfile,也就是字体文件的路径,当然可以相对的

$fontfile = 'c:/windows/fonts/Arial.ttf';

imagettftext($img, 14, 12, 8, 42, $font_color, $fontfile, "http://unmi.cc");

$text_color = imagecolorallocate($img, 233, 14, 91);

imagestring($img, 3, 5, 3,'NEW', $text_color);

imagepng($img);

imagedestroy($img);

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?php

header("Content-type: image/png");

$img=imagecreate(120,50);

$bg_color=imagecolorallocate($img,200,200,255);

$font_color=imagecolorallocate($img,0,0,255);

//注意,这个参数是 fontfile,也就是字体文件的路径,当然可以相对的

$fontfile='c:/windows/fonts/Arial.ttf';

imagettftext($img,14,12,8,42,$font_color,$fontfile,"http://unmi.cc");

$text_color=imagecolorallocate($img,233,14,91);

imagestring($img,3,5,3,'NEW',$text_color);

imagepng($img);

imagedestroy($img);

输出图片如:

那如果是放 Linux 下去,字体文件又是在哪里呢?查一些资料都说是在 /usr/share/fonts/ 目录中,可是我看我的 Linux 主机中没有这个目录,大约是那台机器还没有 XWindows 吧,不用去纠缠它。

想用什么字体,从 Windows 的字体目录拷哪个字体文件到 Linux 下某个目录去就行,放 /usr/share/fonts/ 也行,任何地方都可,只要使用时 $fontfile 指定能找到它的文件路径。从 Windows 的字体目录拷文件出来要稍加一点技巧,资源管理器打开 c:\windows\fonts,用鼠标拖出来会提示文件正在使用,需要你 CMD 进到 c:\windows\fonts,然后  copy 到别的目录再上传到 Linux 机器上。

比如我们把字体文件 arial.ttf 传到了 /usr/share/fonts/ 目录中,在 PHP 里引用该字体文件时就必须写成:

$fontfile = '/usr/share/fonts/arial.ttf';

这时候还有点要注意的就是,因为在 Linux 下文件名是区分大小写的,Windows 下写成  Arial.ttf,其实文件名是 arial.ttf,全小写的,在 Linux 下一定要大小写匹配就对的。

linux php lt,PHP GD 库在 Linux 下使用字体相关推荐

  1. linux php gd库安装,Linux系统gd库安装步骤说明

    gd库是PHP处理图形的扩展库,它提供了一系列用来处理图片的API(应用程序编程接口),使用gd库可以处理图片或者生成图片.在网站上,gd库通常用来生成缩略图,或者对图片加水印,或者生成汉字验证码,或 ...

  2. linux调用qt生成静态库文件下载,Centos7下编译openssl静态库与QT引用

    1.下载openssl版本:https://www.openssl.org/source/old/ 下载地址 2.我们下载版本为:openssl-1.0.2k 3.拷贝到Linux服务器任意目录 4. ...

  3. linux上读取不到库文件,linux中make找不到库文件-lmpi的问题

    电脑上是CentoS7,已安装Intel make一个程序出现找不到库文件的错误如下: ld: skipping incompatible /opt/intel/compilers_and_libra ...

  4. linux编译ntohl加什么库,c – Linux:ntohl无法正常工作

    我有一个需要在 Windows, Linux和VxWorks上构建的项目.该项目建立在Linux和Windows上,但是为VxWorks交叉编译.要处理跨多个平台的字节序,它使用ntoh.h. Lin ...

  5. linux系统上手工建库步骤,Linux下Oracle手工建库过程

    平台:CentOS 5.3,Oracle 10.2.0.1 规划:db_name = risotest , 全局数据库名也可以用risotest 把目录结构大致划成如下结构:具体情况随便你怎么玩:这个 ...

  6. php gd库扩展生成带中文字体的png图片

    注意中文字体的话,需要首先安装字体库才行,这里以楷体字为例,来生成图片 apt-get install fonts-cwtex-kai find -name *kai*.ttf ./usr/share ...

  7. centos php 开启libgdgd_Linux下开启PHP GD库支持

    在linux系统中开启GD库支持,有以下几种方法. 1,检测GD库是否安装命令 代码示例: php5 -m | grep -i gd 或者 php -i | grep -i --color gd 2, ...

  8. linux 中如何将文件粘贴到usr下的lib内,学会在Linux下GCC生成和使用静态库和动态库...

    一.基本概念1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主 ...

  9. mysql phpwind_【phpwind教程:Linux Apache php MySQL GD PHPWind 集成环境配置】-phpwind教程-【零度中国】...

    继PHPWind Wamp 1.0 后,PHPWind 开发团队总结多年Linux下web环境安装的经验,推出全新软件包PHPWind LAMP 1.0. 为了获得更好.更灵活的配置效果,PHPWin ...

最新文章

  1. Python中常见字符串去除空格的方法总结
  2. oracle数据库12528,解决(Oracle)ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接 问题...
  3. 界面-工作者线程结构之:异步委托调用
  4. html轮播图速度加快,各位老师,为什么我用jq写的轮播图,移入移出速度会加快...
  5. Shell教程(五):替代、引用机制、输入输出重定向
  6. jquery 判断手势滑动方向(上下左右)
  7. CodeForces - 375D Tree and Queries(树上启发式合并)
  8. ios解锁动态图片_iOS 苹果开机启动的 滑动来解锁动画
  9. VS 2008中的jQuery Intellisense
  10. 当最有创意的开发者遇上移动云,谁将成为创新之王?
  11. Android音视频开发
  12. VMWare Fusion 安装 Centos7操作系统
  13. arpu计算方法、pv、uv、ip的意思
  14. 分享15款漂亮的WordPress企业主题
  15. 在用origin画图时,图表左上角会出现大写字母C,去除方法:
  16. Html id 选择器
  17. 利用python制作自己的小游戏,超简教程
  18. 元宇宙到底是什么?让我们来看看科技达人们是怎么讲的。
  19. oracle load 用法,Oracle中SQL*LOADER使用方法总结
  20. jQuery设置内容和属性

热门文章

  1. 计算机仿真的实质意义是什么,工程结构的计算机仿真有什么意义
  2. 王者s19服务器维护到什么时候,王者荣耀S19赛季3月31日更新时间到什么时候?王者荣耀S19赛季更新公告更新内容汇总...
  3. 2012已经不流行骂人了,请学文明用语!
  4. 《大数据之路:阿里巴巴大数据实践》第二篇 数据模型篇-读书笔记
  5. 11月8-10日上海新国际博览中心 SFE第35届上海国际连锁加盟展归来
  6. lol新加坡服务器中英文文件,《lol手游》新加坡服有中文吗 新加坡服语言机制介绍...
  7. props的常见和不常见的几种使用方法
  8. 饶毅:做自己尊重的人
  9. php是不是一种脚本语言,PHP是一种多用途脚本语言, PHP的特点包括( )。
  10. HK技术玩的再好~缺无法***你的心