PHP动态图像处理zc

PHP中的GD库的使用

PHP中,通过GD库处理图像,大致的形式就是现在内容里面生成图像, 然后绘制图像,最后输出到浏览器或者将其保存到服务器的磁盘上。

创建一个图片大致的步骤如下:

  1. 创建画布

所有的绘图都需要在一个画布上面进行绘制。所谓创建画布,事实上就是在内存里面开辟一个区域,用来存储图像的信息的。

 

如果想要动态绘制图像,首先就必须要有画布。创建画布的过程事实上就是在内存中开辟一个区域。

 

PHP里面创建画布有两个函数:

 

imagecreate(宽,高):新建一幅指定宽高的基于调色板的画布

 

imagecreatetruecolor(宽,高):新建一幅真彩色的画布

 

两个函数创建的画布基本上是一样的,唯一的区别在于容纳颜色的数量不一样。真彩色所能容纳的颜色总数要多一些。但是真彩色也有一个缺点:不能用于GIF文件格式

 

 

  1. 绘制图像

画布创建完之后,可以通过这个画布资源,使用各种画像函数来设置图像的颜色,填充画布,画点,画线,添加文本等

 

在绘制图像之前,我们需要创建颜色,然后才能通过相应的颜色进行绘画。这里创建颜色我们可以理解为创建颜料的过程,需要什么颜色,就创建什么颜色即可。

PHP里面创建颜色的函数为:

imagecolorallocate(图像资源,红值,绿值,蓝值)

  1. 输出图像

完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的下面,或者将其直接输出到浏览器上面,不需要保存。在输出图像之前,一定要使用header()函数来设置MIME信息,通知浏览器这次发送的是上面文件

 

  1. 释放资源

图像被输出以后,画布中的内容也就没用了,所以我们需要释放所占有的资源,节约内容

 

关于使用PHP动态生成图像,一般不会用来生成很复杂的图片。一般就是用来生成简单的图片:验证码,给图片加水印

 

 

关于图像的格式

 

这里先来介绍一下图像的格式:

 

(1) GIF

 

中文名叫做:图形文件交换格式(Graphics Interchange Format).该格式是一种无损的压缩格式,该格式的缺点是支持的颜色较少,但是有一个优点:可以制作动画

 

(2) JPEG

 

翻译成中文为:联合图像专家组(Joint Photographic Expert Group)。该格式的文件扩展名一般为jpeg或者jpg

 

该格式的优点在于能够存储颜色丰富的色彩和色彩层次的图像。该格式使用了有损压缩,但是压损的程度人眼是可以忍受的。Jpg不适合绘制像线条,文本,颜色这些较为简单的图片

 

(3) PNG

 

翻译成中文:可移植网络图像,首先该格式的图像使用的是无损压缩。该格式就比较适合绘制像线条,文本,颜色这些较为简单的图片

 

PNG还有一个最大的优点,支持透明

 

(4) WBMP

 

翻译成中文为无线位图,是专门为无线通信设备设计的格式,但是并没有得到广泛的使用

 

 

 

总结:GIF的优点在于可以制作动画图片,JPEG的优点在于颜色丰富,PNG的优点在于支持透明色

 

 

 

图像的输出

 

PHP中,可以动态绘制完图像,然后利用函数直接生成GIFJPEGPNGWBMP格式的图像。

 

imagegif(图像资源,[输出文件])

 

imagejpeg(图像资源,[输出文件,品质])

 

imagepng (图像资源,[输出文件])

 

imagewbmp(图像资源,[输出文件,前景色])

 

 

 

如果第二参数填写了,则保存在填写的路径下面,如果没有填写第二个参数,则直接向浏览器输出。

 

转载于:https://www.cnblogs.com/1028422TL/p/7401599.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值