回顾
PHP中常见的错误有哪三种?
如何开启文件方式的日志记录,使用哪个函数记录?
什么是时间戳?相关函数都有哪些?
预习检查
GD库绘图都需要哪几步骤?
如何创建一个画布?
如何输出一个图像?
本章任务
1. PHP中GD库的使用
2. 验证码的绘制和使用
3. PHP图片处理(缩放、裁剪、水印、旋转和翻转)
1. PHP中GD库的使用
GD简介
画布管理
设置颜色
生成图像
绘制图像
在图像中绘制文字
GD简介
PHP 不仅限于只产生 HTML 的输出,还可以创建及操作多种不同格式的图像文件。PHP提供了一些内置的图像信息函数,也可以使用GD函数库创建新图像或处理已有的图像。目前GD2库支持GIF、JPEG、PNG和WBMP等格式。此外还支持一些FreeType、Type1等字体库。
JPEG 是一种压缩标准的名字,通常是用来存储照片或者存储具有丰富色彩和色彩层次的图像。这种格式使用了有损压缩。
PNG 是可移植的网络图像,对图像采用了无损压缩标准。
GIF 原义是“图像互换格式”,是一种基于LZW算法的连续色调的无损压缩格式。
GD库图像绘制的步骤
在PHP中创建一个图像应该完成如下所示的4个步骤:
(也叫画布),以后的操作都基于此背景图像。
。
创
建
背
景
绘
制
图
像
输
出
图
形
释
放
资
源
<?php
//1. 创建画布
$im = imageCreateTrueColor(200, 200); //建立空白背景
$white = imageColorAllocate ($im, 255, 255, 255); //设置绘图颜色
$blue = imageColorAllocate ($im, 0, 0, 64);
//2. 开始绘画
imageFill($im, 0, 0, $blue); //绘制背景
imageLine($im, 0, 0, 200, 200, $white); //画线
imageString($im, 4, 50, 150, 'Sales', $white); //添加字串
//3. 输出图像
header('Content-type: image/png');
imagePng ($im); //以 PNG 格式将图像输出
//4. 释放资源
imageDestroy($im);
画布管理
imagecreate -- 新建一个基于调色板的图像
resource imagecreate ( int x_size, int y_size )
本函数用来建立空新画布,参数为图片大小,单位为像素(pixel)。支持256色。
imagecreatetruecolor -- 新建一个真彩色图像
resource imagecreatetruecolor ( int x_size, int y_size )
新建一个真彩色图像画布,需要 GD 或更高版本,不能用于 GIF 文件格式。
imagedestroy -- 销毁一图像
bool imagedestroy ( resource image )
imagedestroy() 释放与 image 关联的内存。
设置颜色
imagecolorallocate -- 为一幅图像分配颜色
语法:int imagecolorallocate ( resource image, int red, int green, int blue )
imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。
$im = imagecreatetruecolor(100, 100); //创建画布的大小为100x100
$red = imagecolorallocate($im,255,0,0); //由十进制整数设置一个颜色
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);// 十六进制方式
PHP入门培训教程 PHP培训教程 PHP基础教程18 GD库图像处理 来自淘豆网m.daumloan.com转载请标明出处.