標籤: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 做圖片銳利化處理