基础13 图像处理
一 创建图像
所有的绘图设计都需要在这个图像中完成,以后的操作都基于这个图像完成
1.创建新的 imagecreatetruecolor()//新建一个真彩色图像
2.打开服务器或网络文件中已经存在的GIF,JPEG,PNG,WBMP格式图像
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromgif()
imagecreatefromwbmp()
创建或者打开失败的时候会返回空字符串,并且输出一条错误信息。
imagesx()//输出画布宽度
imagesy()//输出画布高度
getimagesize()//取得图像大小
二 绘制图像
图像创建完成后,就可以通过这个图像资源,使用各种画线函数设置图像的颜色、填充画布、画点、画线、画各种几何图形、以及向图像添加文字。
1.imagecolorallocate()//分配颜色
2.imagefill()//区域填充
3.imagesetpixel()//画一个单一像素
4.imageline()//画一条线段
5.imagerectangle()//画一个矩形
6.imagestring()//水平地画一行字符串
7.imagettftext()//用 TrueType 字体向图像写入文本
8.imagettfbbox()//计算 TrueType 文字所占区域
9.imagecopy()//拷贝图像的一部分
10.imagecopymerge()//拷贝并合并图像的一部分
11.imagecopyresampled()//重采样拷贝部分图像并调整大小
三 输出或保存图像
完成图像的绘制之后,可以保存在服务器货值直接输出到浏览器,但是图像输出之前,一定要使用header函数发送Content-type通知浏览器,这次发送的是图片不是文本。
header('Content-Type:image/jpeg');//header()函数前面不能有任何内容输出 包括空格或空字符串
imagegif();
imagejpeg();
imagepng();
imagewbmp();
四 释放资源
imagedestroy()
五 代码示例
1 )创建一副图像,并返回到浏览器
<?php
header('Content-type:image/jpeg');//设置响应头 告诉浏览器请求页面的内容是jpeg格式的图像。
//1 创建一个真彩图像
$img = imagecreatetruecolor(200,200);//设置宽高 得到一个资源类型赋值给$img
//2 分配颜色
$color = imagecolorallocate($img,255,0,0);//分配一个红色
$color1 = imagecolorallocate($img,0,0,0);//分配一个黑色
//3 填充颜色
imagefill($img,0,0,$color);
imagefilledrectangle($img,100,100,20,20,$color1);//画一个矩形并填充黑色
//4 输出图像
imagejpeg($img);
//5 销毁资源
imagedestroy($img);
2 )创建一副图像 保存到本地文件夹
<?php
header('Content-Type:text/html;charset=utf8');//设置响应头 告诉浏览器请求页面的内容是文本类型。
//1 创建一个真彩图像
$img = imagecreatetruecolor(200,200);//设置宽高 得到一个资源类型赋值给$img
//2 分配颜色
$color = imagecolorallocate($img,255,0,0);//分配一个红色
$color1 = imagecolorallocate($img,0,0,0);//分配一个黑色
//3 填充颜色
imagefill($img,0,0,$color);
imagefilledrectangle($img,100,100,20,20,$color1);//画一个矩形并填充黑色
imagestring($img,5,0,0,'string',$color1);//输出一个字符串
//4 输出图像
//这里使用绝对路径保存
if (imagejpeg($img,'/phpstudy_pro/www/www.sunshengli2.com/demo/image/new.jpeg')){ echo '图片保存成功'; } else { echo '图片保存失败'; }
//这里使用相对路径保存
if (imagejpeg($img,'image/new.jpeg')){ echo '图片保存成功';} else {echo '图片保存失败';}
//5 销毁资源
imagedestroy($img);
知识点:/web根目录 和 /函数根目录 不一样
web根目录 使用在a标签 访问的时候
/demo/image/new.jpeg
PHP函数根目录 / 根目录是盘符目录
/phpstudy_pro/www/www.sunshengli2.com/demo/image/new.jpeg
验证码:https://www.cnblogs.com/fuyunlin/p/13945589.html
水印:https://www.cnblogs.com/fuyunlin/p/13946839.html
图片裁切和缩放: https://www.cnblogs.com/fuyunlin/p/13948765.html

浙公网安备 33010602011771号