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);}

//图像锐化

//$scr_im:图像资源句柄,$degree:锐化度数

function  Sharp(&$src_im,  &$dst_im,  $degree)

{

$src_x  =  imagesx($src_im);

$src_y  =  imagesy($src_im);

//$dst_im  =  imagecreate($src_x,  $src_y);

//imagecopy($dst_im,  $src_im,  0,  0,  0,  0,  $src_x,  $src_y);

$cnt  =  0;

for  ($x=1;  $x

for  ($y=1;  $y

{

$src_clr1  =  imagecolorsforindex($src_im,  imagecolorat($src_im,  $x-1,  $y-1));

$src_clr2  =  imagecolorsforindex($src_im,  imagecolorat($src_im,  $x,  $y));

$r  =  intval($src_clr2["red"]+$degree*($src_clr2["red"]-$src_clr1["red"]));

$g  =  intval($src_clr2["green"]+$degree*($src_clr2["green"]-$src_clr1["green"]));

$b  =  intval($src_clr2["blue"]+$degree*($src_clr2["blue"]-$src_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  (($dst_clr=imagecolorexact($dst_im,  $r,  $g,  $b))==-1)

$dst_clr  =  Imagecolorallocate($dst_im,  $r,  $g,  $b);

$cnt++;

if  ($dst_clr==-1)  die("color  allocate  faile  at  $x,  $y  ($cnt).");

imagesetpixel($dst_im,  $x,  $y,  $dst_clr);

}

return  $dst_im;

}

$ImageFunctions  =  array("imagecreatefromwbmp",  "imagecreatefromgif",  "imagecreatefromjpeg",  "imagecreatefrompng");

if  (!empty($_POST["ImageName"]))

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>