PHP图像图形处理入门教程(1/3)
1 生成一个简单图像。
2 设定图像的颜色。
3 在图像上绘制直线。
4 在图像上显示文字。
5 在图像中显示中文字符。
6 打开已存在的图片。
7 获取图片的相关属性。
8 函数getimagesize()的用法。
9 为上传图片添加水印效果。
10 生成已有图片的缩略图。
11 使用函数imagecopyresampled()。
12 生成带有底纹的数字验证码图片的php程序。
*/
//1 生成一个简单图像。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); |
//2 设定图像的颜色。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); $bg_color = imagecolorallocate($img, 255, 0, 0); imagepng($img); |
//3 在图像上绘制直线。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); $line_color = imagecolorallocate($img, 255, 255, 255); imagepng($img); |
//4 在图像上显示文字。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); imageline($img, 0, 40, 200, 40, $line_color); imagepng($img); |
//5 在图像中显示中文字符。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); //“西游记”3个字16进制字符 //“吴承恩著”4个字16进制字符 imageline($img, 0, 40, 200, 40, $line_color); //竖排显示“西游记”3字 //横排显示“吴承恩著”4字 imagepng($img); //6 打开已存在的图片。 imagejpeg($img); //7 获取图片的相关属性。 $x = imagesx($img); //8 函数getimagesize()的用法。 for($i=0; $i<4; ++$i) |
?>
这是一款简单实用的php验证码生成程序了,主要是利用了php gd库来生成图形验证码,并且保存到session中,生成的代码是利用rand随机生成的。
代码如下 | 复制代码 |
session_start(); $te1 = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im,rand()%100,rand()%30,$te1); |
/*
生成验证的作用是防止用户乱注册了,这是一等的验证程序
*/
代码如下 | 复制代码 |
function bigtosmallimg($file,$path,$w=120,$h=90) switch($stype){//根据上传好的图形文件类型新建一个用来生成缩略图的源文件。 $desf =imagecreatetruecolor($mw,$mh); imagecopyresampled($desf,$srcf,0,0,0,0,$mw,$mh,$sw,$sh); } |
//此缩略图调用方法
代码如下 | 复制代码 |
bigtosmallimg($file,$path,$w=120,$h=90); /* |
$file = 图片的路径
$path = 生成后保存的路径
$w =图片宽度
$h =图片高度
*/
有3个文件:
authcode.php-----验证码的生成php文件
authcode.html-----前台显示页面
dealauthcode.php-----ajax提交到的后台处理判断验证码是否正确的处理页面
*/
?>
前台调用验证码代码
代码如下 | 复制代码 |
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> |
dealauthcode.php-----ajax提交到的后台处理判断验证码是否正确的处理页面
代码如下 | 复制代码 |
<?php session_start(); $authcode = $_get['authcode']; //这里的$_session['authcode']是在验证码authcode页面产生的 if(strtoupper($authcode)!= $_session['authcode']){ echo 'mis_match'; } ?> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <body> class upfileclass { var $upfile, $upfile_name, $upfile_size; var $new_upfile_name; # 上传后的文件名称 ; var $buildfile,$newfile,$file_width,$file_height,$rate; function upfileclass($upfile,$upfile_name,$upfile_size){ # 创建新文件名 (原文件名) # 检测文件类型是否正确 # 提示错误信息并终止操作 # 保存文件 # 检测上传结果是否成功 # 创建文件夹 # 检测文件大小 # 删除文件($filepath 文件相对路径) /* } </body> |
相关文章
- 这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)
批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30- 这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
- file_get_contents的超时处理话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据。今天说的这篇是讲超时的,确实在...2013-10-04
- 这篇文章主要介绍了C#多线程中的异常处理操作,涉及C#多线程及异常的捕获、处理等相关操作技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
- 这篇文章主要介绍了Python同时处理多个异常的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-29
C#异常处理中try和catch语句及finally语句的用法示例
这篇文章主要介绍了C#异常处理中try和catch语句及finally语句的用法示例,finally语句的使用涉及到了C#的垃圾回收特性,需要的朋友可以参考下...2020-06-25- 今天小编就为大家分享一篇python 实现将Numpy数组保存为图像,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要介绍了python如何用moviepy对视频进行简单的处理,帮助大家更好的利用python处理视频,感兴趣的朋友可以了解下...2021-03-11
- 这篇文章主要介绍了C#图像透明度调整的方法,涉及C#操作图像透明度的相关技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#线程入门教程之单线程介绍,本文讲解了什么是进程、什么是线程、什么是多线程等内容,并给出了一个单线程代码示例,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#图像亮度调整的方法,涉及C#操作图像亮度的相关技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章介绍了C#异常处理,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了CocosCreator入门教程之用TS制作第一个游戏,对TypeScript感兴趣的同学,一定要看一下...2021-04-16
- 今天小编就为大家分享一篇Python-numpy实现灰度图像的分块和合并方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要给大家介绍了关于sql server日志处理不当造成的隐患的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用sql server具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-11
- JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。本文将介绍JS事件相关的基础知识。...2017-04-03
- Spring MVC是Spring系列框架中使用频率最高的部分。不管是Spring Boot还是传统的Spring项目,只要是Web项目都会使用到Spring MVC部分。因此程序员一定要熟练掌握MVC部分。本篇博客简要分析Spring MVC处理一个请求的流程。...2021-02-06
- 这篇文章主要介绍了go语言中的Carbon库时间处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05