PHP图像锐化处理代码
在PHP中也可实现图片的锐化操作,效果类似于Photoshop中的效果,这里也可以设置锐化度,有此方面需要的朋友可参考这个图片锐化的PHP函数代码:
PHP代码部分:
<?php //图像类型: //1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF function GetImageType($filename) {return (($imginfo=@getimagesize($filename))!=null ? $imginfo[2] : null);} //开始图像锐化 //$im:图像句柄,$degree:锐化度 function Sharp(&$im, $degree) { $cnt = 0; for ($x=imagesx($im)-1; $x>0; $x--) for ($y=imagesy($im)-1; $y>0; $y--) { $clr1 = imagecolorsforindex($im, imagecolorat($im, $x-1, $y-1)); $clr2 = imagecolorsforindex($im, imagecolorat($im, $x, $y)); $r = intval($clr2["red"]+$degree*($clr2["red"]-$clr1["red"])); $g = intval($clr2["green"]+$degree*($clr2["green"]-$clr1["green"])); $b = intval($clr2["blue"]+$degree*($clr2["blue"]-$clr1["blue"])); $r = min(255, max($r, 0)); $g = min(255, max($g, 0)); $b = min(255, max($b, 0)); if (($new_clr=imagecolorexact($im, $r, $g, $b))==-1) $new_clr = Imagecolorallocate($im, $r, $g, $b); $cnt++; if ($new_clr==-1) die("color allocate faile at $x, $y ($cnt)."); imagesetpixel($im, $x, $y, $new_clr); } } $ImageFunctions = array("imagecreatefromwbmp", "imagecreatefromgif", "imagecreatefromjpeg", "imagecreatefrompng"); if (!empty($_POST["ImageName"])) { set_time_limit(10*60); if (($ImageType=GetImageType($_POST["ImageName"]))==false) die("指定文件不存在或不是有效的图片类型!"); if ($ImageType==6) $ImageType = 0; if ($ImageType>3) die("不支持的图片类型!"); $im1 = $ImageFunctions[$ImageType]($_POST["ImageName"]); $im2 = $ImageFunctions[$ImageType]($_POST["ImageName"]); Sharp($im1, $im2, $_POST["Degree"]); header("Content-type: image/png"); imagepng($im2); imagedestroy($im1); imagedestroy($im2); } ?>
HTML代码部分:
<form name="FormName" action="" method="post"> 图片路径或URL:<br/> <input name="ImageName" type="text" value="<?=$_POST["ImageName"]?>" size=32><br/> 锐化度数(例:0.6、3.0):<br/> <input name="Degree" type="text" value="<?=$_POST["Degree"]?>"><br/> <input type="submit" value="提交"> </form>
测试时候可以将这两段代码保存在一个文件里,保存格式为.php类型,测试运行吧,会有一个表单要求选择图片路径,选择后提交要看到效果。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法