php图像处理

##一、创立画布##

resource 就是一个创建的图像标识符

1、创立一个空画布

resource imagecreateturecolor(宽,高)//是以像素为单位

###2、创建基于已有图像的图像###

resource imagecreatefrom图像后缀名(图片路径)

图片后缀

  1. gif使用的是gif
  2. jpg使用的是jpeg
  3. png受用的是png

###3、销毁图像资源###

bool imagedestroy(创建的图像标识符)

##二、操作图片##

###1、为图像分配颜色imagecolorallocate()###

int imagecolorallocate(创建的图像标识符,红,绿,蓝)

分配好颜色还要填充到画布里面,才能输出到浏览器

imagefill(创建的图像标识符,x坐标,y坐标,分配好的颜色)

###2、输出图像到浏览器或者保存文件image文件后缀###
bool image后缀(创建的图像标识符,$filename,quality)

注意:要将图片输出到浏览器要用header()函数高数浏览器这个格式

参数:

  1. $filename,将创建的图像保存到文件;如果省略,则直接在浏览器输出。
  2. 如果要省略这个参数而提供 quality 参数,使用NULL。
  3. quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认的质量值(大约 75)。

###3、在水平创建一行字符串

bool imagestring(创建的图像标识符,int $font,int $x,int $y,string $s,int $col)

参数:

  1. $img 图像资源;
  2. $font字体大小,取值1、2、3、4、5,使用内置字体;
  3. $x , $y 绘制字符串的开始坐标,一般在字符串左上角;
  4. $s 代表要绘制的一行字符串;
  5. $col 代表文本颜色。
  6. s,代表一行字符串;s,代表一行字符串;scol,代表文本颜色;

###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)
  1. $x1 , $y1 左上角坐标;
  2. $x2 , $y2 右下角坐标;
  3. $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  )
  1. $dst_image,目标图像;
  2. $src_image,源像图;
  3. dstx和dst_x和dstxdst_y,目标图像x、y坐标;
  4. srcx和src_x和srcxsrc_y,源图像x、y坐标;
  5. dstw和dst_w和dstwdst_h,目标图像的宽度和高度;
  6. srcw和src_w和srcwsrc_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]取得要另保存的文件临时路径

##上传文件得实例总结

  1. 判断上传文件错误是否为0
  2. 判断上传文件是否超过大小
  3. 判断文件是否为想要得文件
  4. 把临时文件另存为其它地方,得以永久保存

###1、在判断文件是否为想要类型文件,可以使用inarray()到想要文件数组中查找

bool in_array (mixed $needle , array $arr )

参数:needle检索的值,needle检索的值,needlearr原数组。
###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,文件名。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值