- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0 |
二、为PHP配置图像和字体库
从PHP4.3开始,PHP捆绑了自己版本的GD2库。在Windows平台GD2库自动支持PNG、JPEG格式。如果希望在Unix、BSD、Linux平台使用PNG格式则需要安装二个动态链接函数库libpng和zlib。可以饱含在Linux发行版本的rpm包或者其官方网址下载源代码编译。
zlib库:http://www.gzip.org/zlib/
编译时注意使用如下命令行选项:
./configure --with-zlib-dir=/path/to/zlib
libpng库:http://www.libpng.org/pub/png/
编译时注意使用如下命令行选项:
./configure --with-png-dir=/path/to/libpng
如果希望在Unix、BSD、Linux平台使用JPEG需要安装jpeg-6d库然后重新编译GD库。可以在其官方网址下载源代码编译。
jpeg-6d库:ftp://ftp.uu.net/graphics/jpeg/
编译时注意使用如下命令行选项:
./configure --with-jpeg-dir=/path/to/jpeg-6b
如果希望在Unix、BSD、Linux平台使用TrueType 字体需要安装TrueType 库。可以在其官方网址下载源代码编译。
TrueType库:http://www.freetype.org/
如果希望在Unix、BSD、Linux平台使用PostScript Type 1字体需要安装t1lib库。可以在其官方网址下载源代码编译。
PostScript Type 1库:ftp://sunsite.unc.edu/pub/Linux/libs/graphics/
编译时注意使用如下命令行选项:
./configure --with-t1lib[=path/to/t1lib]
以上所有库编译结束后,重新启动Apache服务器后运行phpinfo()来检查一下新的设置是否生效了。如果出现如下选项,见图2.
从图2可以看到为PHP配置图像和字体已经完成。现在,我们就可以开始图像创建工作了。
三、创建图像步骤
在PHP中创建一个图像通常需要以下四个步骤:
1. 创建一个背景图像,以后所以操作但是基于此背景。
2. 在图像上绘图轮廓或或者输入文本。
3. 输出最终图形。
4. 清除内存中所有资源。
下面我们看一个应用实例,一个带“PHP”标签的正方型。脚本如下:
<?php
$height = 300;
$width = 300;
$im = ImageCreateTrueColor($width, $height);
$white = ImageColorAllocate ($im, 255, 255, 255);
$blue = ImageColorAllocate ($im, 0, 0, 64);
ImageFill($im, 0, 0, $blue);
ImageLine($im, 0, 0, $width, $height, $white);
ImageString($im, 4, 80, 150, 'PHP', $white);
Header ('Content-type: image/png');
ImagePng ($im);
ImageDestroy($im);
?>
最后把这一小段脚本保存为si1.php,然后用浏览器对它进行访问,就可以看到一个300×300像素大小的PNG格式的图像,见图3。
下面我们详细讲解创建图像过程:
1. 创建一个背景图
要在PHP中建立或者修改一个图像,必须首先建立一个图像标示符号。这里提供调用函数:来实现,如下所示:
$im = ImageCreateTrueColor($width, $height)
然后为这个函数传递两个参数:第一个是新图像宽度,第二个是新图像高度。该函数将返回新图像的标示符号。
2. 在图像上绘图、打印文本
在一个图像上绘图和打印文本需要两个步骤:1.首先选择颜色。这里通过调用函数$im = ImageCreateTrueColor()为图像选择颜色。颜色由红、绿、蓝(RGB)值的组合决定。这里使用了两种颜色:
$white = ImageColorAllocate ($im, 255, 255, 255);
$blue = ImageColorAllocate ($im, 0, 0, 64);
然后需要使用其他函数将颜色绘制到图像中。这些函数的选择取决于要绘制的内容:直线、弧形、多边行或者文本。上面的脚本si1.php,一共使用了三个函数:
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |