基础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
 
posted @ 2020-10-23 22:39  棉花糖88  阅读(106)  评论(0)    收藏  举报