PHP中如何进行图像处理,有什么技巧
Admin 2022-08-15 群英技术资讯 258 次浏览
PHP中提供了一些对图像进行编辑处理的函数,其中最为典型的应用为随机图形验证码、图片水印以及数据统计中饼状图和柱状图的生成等
PHP中有的图形函数可以直接使用,但多数需要在安装了GD2函数库后才能使用。在Windows平台下安装GD2库很简单,就是PHP5自带的ext目录中的php_gd2_dll文件。
如果没有,说明安装PHP时没有安装GD2库,打开php.ini文件,查看php.ini文件(c:\winsows),查看文件中是否有一句";extension = php_gd2.dll"(Paths and Directories 里),如果有,将其中的“;”去掉,再将文件中扩展目录extension_dir的值设置成PHP的ext目录所在的完整路径,如"extension_dir = E:\php5\ext",保存后重启Apache即可
绘制一个图形一般包括4个步骤:1)创建一个背景,2)在背景中绘制图形或输入文本,3)输出图形,4)释放所有资源
在此之前注意先将php.ini文件里 Language Options下的output_buffering默认的off改为on,然后重启Apache(Apache Restart),否则会出现如下的Warning:
Cannot modify header information - headers already sent by.....
例:绘制PNG图形,如绘制一条直线
$image = imagecreate(400,400);//创建一个图像,两个参数表示图像的宽度和高度,单位为像素,并返回此图像的数据流 $background_color = imagecolorallocate($image,255,255,255);//为图像设置了白色的背景流, $black = imagecolorallocate($image,0,0,0);//为图像设置了黑色的背景流 imageline($image,0,0,100,100,$black);//绘制一条直线,并设置其颜色为黑色 ob_clean();//清除输出,否则图像无法显示 header("Content-type:image/png");//向浏览器发送头信息,输出png图片 imagepng($image);//输出图形 imagedestroy($image);//清除资源
图像处理函数可以直接创建一个图像流来绘制图形,还可以将现有的图片作为图像流读入,然后在次基础上对图像进行修饰,如加上水印效果等。这种功能常用来防止图片被盗用
例:在原始图片(jpeg格式)上添加一个水印网址
ob_clean(); header("Content-type:image/jpeg"); $im = imagecreatefromjpeg("dog.jpg"); $red = imagecolorallocate($im,255,0,0); imagestring($im,5,6,10,"http://www.cnblogs.com/520xiuge/",$red); imagejpeg($im); imagedestroy($im);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php创建函数的过程你知道是怎么样的吗?为了帮助大家更好的理解问题,小编特地整理了相关资料给大家,如果你感兴趣的话可以来看一看,一定不会让你失望的。
php序列化和反序列化怎么操作?优缺点是什么?一些朋友对于php序列化和反序列化不是很了解,对此这篇文章就给大家介绍一下关于php常见的序列化和反序列化操作,感兴趣的朋友可以看看。
在laravel中,“laravel mix”是一款前端任务自动化管理工具,mix提供了简洁流畅的API,能够为Laravel应用定义Webpack编译任务,mix支持许多CSS与JavaScript预处理器,通过调用可以管理前端资源。
这篇文章主要给大家分享的是Laravel框架队列和工作的操作,文本实例具有一定的借鉴价值,感兴趣的朋友可以参考一下,接下来就跟随小编一起学习吧。
本页说明了用static关键字来定义静态方法和属性。static也可用于定义静态变量以及后期静态绑定。声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008