
PHP中实现图片的锐化
发布时间:2006-05-08 16:03:05 来源:网易学院 网友评论 0 条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]);
//print_r(imagecolorsforindex($im, imagecolorat($im,10,10)));
Sharp($im1, $im2, $_POST[Degree]);
header(Content-type: image/png);
imagepng($im2);
imagedestroy($im1);
imagedestroy($im2);?>
size=32>
锐化度数(例:0.6、3.0):
>
改了一下,省了一个$im: function Sharp2(&$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));
//echo r:$r, g:$g, b:$b
;
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);:2
作者:nhconch
[来源:CSDN]
- PHP调用三种数据库的方法(2)
- PHPUnit袖珍指南之自动测试
- PHP5 OOP编程中的代理与异常定制
- 实例学习PHP之表单处理篇(二)
- Svoi.Net PHP Edit V5.6b下载地址列表
- 利用PHP+JavaScript打造AJAX搜索窗
- PHP+MySQL应用中使用XOR运算加密算法
- PHP.MVC的模板标签系统之初识PHP.MVC
- 大型系统上PHP令人不爽的九大原因
- 如何利用PHP和CSS改变网页文字大小
- 1.实例学习PHP之表单处理篇(一)
- 2.实例学习PHP之表单处理篇(二)
- 3.结合AJAX进行PHP开发之入门
- 4.PHP V5.0.5下载列表
- 5.用PHP读取和编写XML DOM
- 6.使用"函数递归"实现动态树型菜单
- 7.PHP环境下配置在线编辑器FCKeditor
- 8.利用PHP和AJAX创建RSS聚合器
- 9.实例学习PHP之投票程序篇(二)
- 10.实例学习PHP之投票程序篇(一)
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
