##一、创立画布##
resource 就是一个创建的图像标识符
1、创立一个空画布
resource imagecreateturecolor(宽,高)//是以像素为单位
###2、创建基于已有图像的图像###
resource imagecreatefrom图像后缀名(图片路径)
图片后缀
- gif使用的是gif
- jpg使用的是jpeg
- png受用的是png
###3、销毁图像资源###
bool imagedestroy(创建的图像标识符)
##二、操作图片##
###1、为图像分配颜色imagecolorallocate()###
int imagecolorallocate(创建的图像标识符,红,绿,蓝)
分配好颜色还要填充到画布里面,才能输出到浏览器
imagefill(创建的图像标识符,x坐标,y坐标,分配好的颜色)
###2、输出图像到浏览器或者保存文件image文件后缀###
bool image后缀(创建的图像标识符,$filename,quality)
注意:要将图片输出到浏览器要用header()函数高数浏览器这个格式
参数:
- $filename,将创建的图像保存到文件;如果省略,则直接在浏览器输出。
- 如果要省略这个参数而提供 quality 参数,使用NULL。
- quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认的质量值(大约 75)。
###3、在水平创建一行字符串
bool imagestring(创建的图像标识符,int $font,int $x,int $y,string $s,int $col)
参数:
- $img 图像资源;
- $font字体大小,取值1、2、3、4、5,使用内置字体;
- $x , $y 绘制字符串的开始坐标,一般在字符串左上角;
- $s 代表要绘制的一行字符串;
- $col 代表文本颜色。
- s,代表一行字符串;s,代表一行字符串;s,代表一行字符串;col,代表文本颜色;
###4、写入一行汉字###
array imagettftext(创建的图像标识符,字体大小,调转角度,x坐标,y坐标,颜色,$fontfile,要写入的汉字);
$fontfile,是想要使用的 TrueType 字体的绝对路径
###5、获取画布的宽度和高度###
宽度:int imagesx ( resource $image )
高度:int imagesy ( resource $image )
###6、获取内置字体的宽度和高度###
字体宽度:int imagefontwidth ( int $font )
字体高度:int imagefontheight ( int $font )0
###7、画一个矩阵并填充
bool imagefilledrectangle(创建的图像标识符, int $x1 , int $y1 , int $x2 , int $y2 , int $color)
- $x1 , $y1 左上角坐标;
- $x2 , $y2 右下角坐标;
- $color 填充背景色。
##三、实例所得
1.range()生成一个范围的数组
array range ( 开始值 , 最后的值 步长度(默认为1)
2.利用array_merge()把所有生成的数组组合起来
array array_merge ( 数组,数组 )
3.再用shuffle()将数组打乱
shuffle(数组)
4.最后利用array_rand()在数组里面取得几位数的下标
mixed array_rand ( 数组,要取得的个数 )
5.颜色范围可以利用mt_rand(最小值,最大值)
###1、水印效果
描述:为图像分配透明颜色imagecolorallocatealpha()
int imagecolorallocatealpha(创建的图像标识符,red,green,blue,透明度)
透明度:其值从 0 到 127。0表示完全不透明,127 表示完全透明。
###2、生成图像缩略图
描述:将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,减小了图像的大小而仍然保持了极大的清晰度。
bool imagecopyresampled(resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
- $dst_image,目标图像;
- $src_image,源像图;
- dstx和dst_x和dstx和dst_y,目标图像x、y坐标;
- srcx和src_x和srcx和src_y,源图像x、y坐标;
- dstw和dst_w和dstw和dst_h,目标图像的宽度和高度;
- srcw和src_w和srcw和src_h,源图像的宽度和高度;
注意:如果源和目标的宽度和高度不同,则会进行相应的图像收缩和拉伸。
##二、文件上传
利用from来上传表单
注意:上传时from得属性method必须要用POST,enctype属性值必须是multipart/form-data
###1、超全局变量数组$_FILES
KaTeX parse error: Unexpected character: '' at position 23: …保存上传文件的信息<br/> ̲_POST数组中保存的是普通表单元素数据;
###2、查看上传的临时文件###
上传的文件默认保存再目录(C:\widows\temp)这给文件在网页运行完毕文件就自动删除;要查看临时文件,可以利用sleep(秒数);来改变网页运行时间;
####或者再网页还没有结束前另保存到其它文件中去####
bool move_uploaded_file(指定上传的临时文件名,指定新的文件名路径);
来利用$_FILES[文件名][tem_name]取得要另保存的文件临时路径
##上传文件得实例总结
- 判断上传文件错误是否为0
- 判断上传文件是否超过大小
- 判断文件是否为想要得文件
- 把临时文件另存为其它地方,得以永久保存
###1、在判断文件是否为想要类型文件,可以使用inarray()到想要文件数组中查找
bool in_array (mixed $needle , array $arr )
参数:needle检索的值,needle检索的值,needle检索的值,arr原数组。
###2、在文件为了使得同一文件在保存是被覆盖,可以使用生成唯一ID的函数
string uniqid ([ string $prefix = “” [, bool $more_entropy = false ]] )
参数:
$prefix前缀字符串,如果省略,返回字符串长度为13;
$more_entropy后缀字符串,如果为true,返回字符串长度为23。
###3、想要获取文件的一部分信息pathinfo()
mixed pathinfo(string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
参数:
$path,要解析的路径。
$options,如果省略,返回全部单元;
PATHINFO_DIRNAME,目录名称;
PATHINFO_BASENAME,文件名称;
PATHINFO_EXTENSION,扩展名;
PATH_FILENAME,文件名。