9-1. PHP创建图像步骤

PHP不仅可以处理文本数据,还可以创建不同的动态图像,比如GIF、PNG、JPEG、WBMP、XMP等

 

在PHP中通过GD库处理图像的操作都是在内存中处理,操作完成以后再以文件流的方式输出到浏览器或保存在服务器的磁盘中

注:在PHP中可以通过GD扩展库实现对图像的处理,不仅可以创建图像而且可以处理已有图像

 

图像是资源类型数据 resource

用之前需要开启GD扩展库

1)创建图像

2)绘制图像

3)生成图像(输出图像)

4)释放资源

5)图形验证码

6)水印

7)缩放与裁剪

 

创建图像的4个步骤 

1)创建图像

所有的绘图设计都需要在一个图像上完成,以后的操作都基于这个图像 

 

1. 创建新图像

$img=imagecreatetruecolor(int $a, int $b); //新建一个真彩图像

 

2. 打开服务器或网络文件中已经存在的GIF, JPEG,PNG,WBMP格式图像

imagecreatefromjpeg( );
imagecreatefrompng( );
imagecreatefromgif( );
imagecreatefromwbmp( );

//创建或打开失败的时候会返回字符串,并且输出一条错误信息
imagesx();//输出画布宽度
imagesy();//输出画布高度
getimagesize();//取得图像大小

 

2)绘制图像

图像创建完成后,就可以通过这个图像资源,使用各种画像函数设置图像的颜色,

填充画布、画点、线段、各种几何图案,以及图像添加文本等

//通过创建的图像资源开始绘制
1.  imagecolorallocate()  //分配颜色
2.  imagefill() //区域填充
3.  imagesetpixel()  //画一个单一像素
4.  imageline()  //画一条线段
5.  imagerectangle()  //画一个矩阵
6.  imagestring()  //水平的画一个字符串
7.  imagettftext() //用TrueType字体向图像写入文字
8.  imagettfbbox()  //计算TrueType文字所占区域
9.  imagecopy() //拷贝图像的一部分
10. imagecopymerge() //拷贝并合并图像的一部分
11. imagecopyresampled() //重采样拷贝部分图像并调整大小

 

3)输出图像

完成整个图像的绘制后,将图像以某种格式保存到服务器的文件中,或者将图像直接输出到浏览器上显示给用户,

但在图像输出之前一定要使用header( )函数发送 Content-type通知浏览器,这次发送的是图像不是文本

 

注意点:在header()函数之前不能有任何输出内容

PHP输出的可能是Text/Html文件,也可能是图像

//生成图像
header()
imagegif()
imagejpeg() //以jpeg格式将图像输出到浏览器或文件中
imagepng()
imagewbmp()

 

 1. 把生成的图片输出到浏览器的方法

header('Content-type:image/jpeg');
$img=imagecreatetruecolor(200,200);
$color1=imagecolorallocate($img,229,36,36); //取色
imagefill($img,0,0,$color1);
imagejpeg($img); //生成图像
imagedestroy($img);
//此php文件就像网络中的图片,可以被引用,直接调用地址即可

 

2. 把生成的图片保存到 images文件夹的方法

header('Content-type:text/html;charset=utf-8');
$img=imagecreatetruecolor(200,200);
$color1=imagecolorallocate($img,229,36,36);
imagefill($img,0,0,$color1);
if (imagejpeg($img,'images/robin.jpeg')){
    echo '保存成功!';
}
imagedestroy($img);

 

''/" 在HTML文件里表示WEB根目录,可以在a标签里调用;在PHP文件里只能表示磁盘的根目录

 

4)释放资源

imagedestroy( );

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值