PHP 做圖片銳利化處理

來源:互聯網
上載者:User

標籤:views   pix   pretty   esx   each   down   指定位置   cti   inpu   

<?php//讀取映像的類型//1=GIF,2=JPG,3=PNG,4=SWF,5=PSD,6=BMP,7=TIFF(intelbyteorder),8=TIFF(motorolabyteorder),9=JPC,10=JP2,11=JPX,12=JB2,13=SWC,14=IFFfunction GetImageType($filename){return(($imginfo[email protected]($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<$src_x;$x++)for($y = 1;$y<$src_y;$y++){/*ImageColorsForIndex --- 從索引值取得顏色文法 : array imagecolorsforindex (int im, int index)說明 :此函數傳回指定的色彩索引值的RGB值,傳回的數組有red、green和blue這三個索引值,數組的值為指定的色彩索引值的RGB值。ImageColorAt --- 取得像素的色彩索引值文法 : int imagecolorat (int im, int x, int 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<br/>";if(($dst_clr=imagecolorexact($dst_im,$r,$g,$b))==-1)$dst_clr=Imagecolorallocate($dst_im,$r,$g,$b);$cnt++;if($dst_clr==-1)die("colorallocatefaileat$x,$y($cnt).");imagesetpixel($dst_im,$x,$y,$dst_clr);}return $dst_im;}$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"]);//print_r(imagecolorsforindex($im,imagecolorat($im,10,10)));Sharp($im1,$im2,$_POST["Degree"]);header("Content-type:image/png");imagepng($im2);imagedestroy($im1);imagedestroy($im2);}?><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 做圖片銳利化處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.