php扩展库:C:\wamp\bin\php\php5.3.10\ext
<?php
/*
创建画布
参数1:画布宽度
参数2:画布高度
返回值:图像资源类型
*/
$image = imagecreatetruecolor(500, 500);
/*
创建颜色
参数1:图像资源
参数234:红绿蓝三种颜色 0-255 0x00-0xff
*/
$red = imagecolorallocate($image, 255, 0, 0);
$green = imagecolorallocate($image, 0, 255, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
$pink = imagecolorallocate($image, 0xff, 0xc0, 0xcb);
$yellow = imagecolorallocate($image, 255, 255, 0);
$black = imagecolorallocate($image, 0, 0, 0);
/*
给画布填充颜色
*/
//imagefill($image, 0, 0, $red);
imagefilledrectangle($image, 0, 0, 500, 500, $pink);
/*
通过图像处理函数画图形
*/
imageline($image, 0, 0, 500, 500, $yellow);
/*
画矩形
*/
imagerectangle($image, 50, 50, 150, 150, $blue);
imagerectangle($image, 350, 50, 450, 150, $blue);
/*
画多边形
*/
imagepolygon($image, [250, 150, 150, 250, 350, 250], 3, $red);
/*
画椭圆
*/
imageellipse($image, 250, 350, 200, 50, $green);
imagefilledellipse($image, 100, 100, 30, 30, $black);
/*
画弧线
角度为度数,方向为顺时针,0度位于3点钟方向
*/
imagearc($image, 250, 250, 200, 200, -90, 90, $red);
/*
画字符串
*/
imagestring($image, 5, 50, 200, '我爱 baby', $black);
imagechar($image, 5, 100, 300, 'c', $black);
/*
画中文字符
*/
imagettftext($image, 50, 10, 0, 100, $red, 'STXINGKA.TTF', '我爱你中国');
/*
告知MIME类型
*/
header('content-type:image/png');
/*
输出或者保存
参数1:图像资源
参数2:如果不传递,代表输出到浏览器,如果传递,要传递一个文件路径,将该图像保存到该文件中
*/
imagepng($image);
/*
销毁图像资源
*/
imagedestroy($image);
1、图像应用
2、基本概念
MIME:多用途互联网邮件扩展类型,主要用来在邮件传输和http协议中指定文件类型
图片类型
比如常见的MIME类型
html: .html text/html
png: .png image/png
jpg、jpeg image/jpeg
gif image/gif
3、gd库 php扩展
配置文件 php.ini 中通过 extension = xxx.dll 打开或者关闭扩展库
在安装目录下 wamp64=>bin=>php7.0=>ext 存放的所有的扩展库
4、六脉神剑
1、创建画布(就是一个图像资源)
2、创建颜色
3、通过图像处理函数画图
4、告知浏览器文件MIME类型
5、输出到浏览器或者保存到本地
6、销毁图像资源
5、相关函数
创建图像资源函数:
imagecreate(推荐使用创建真彩色函数)
imagecreatetruecolor
imagecreatefromjpeg
imagecreatefromgif
imagecreatefromwbmp
imagecreatefrompng
创建颜色函数
imagecolorallocate
画图形函数
imagefilledrectangle :画一个矩形并且填充颜色
imagesetpixel :画一个像素点
imageline
imagerectangle
imagepolygon
imageellipse
imagearc
下面的都是上面的填充版本
imagefilledrectangle
imagefilledpolygon
imagefilledellipse
imagefilledarc
imagerotate:旋转图片
imagestring :不能写中文
imagechar:画一个字符
imagettftext:
告知浏览器MIME类型
header('Content-Type:image/png');
输出保存图片
imagepng($img,['path'])
imagejpeg
imagegif
销毁图像资源
imagedestroy
获取图片的宽度和高度
list($width, $height) = getimagesize(filename);
/*
imagecopy
imagecopymerge 带透明度的拷贝
imagecopyresampled 重采样进行拷贝
*/
//imagecopymerge($dst, $src, 370, 677, 112, 80, 200, 85, 50);
imagecopyresampled($dst, $src, 370, 677, 112, 80, 200, 100, 200, 85);