ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルを使用して画像鮮明化コードを実装する

PHP_PHP チュートリアルを使用して画像鮮明化コードを実装する

WBOY
WBOYオリジナル
2016-07-21 15:55:171078ブラウズ


//読み込む画像の種類

//1 = GIF、2 = JPG、3 = PNG、4 = SWF、5 = PSD、6 = BMP、7 = TIFF (インテル バイト オーダー)、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: 鮮鋭化の度合い

関数 Sharp(&$src_im, &$ dst_im, $degree)

$src_x = imagex($src_im)

$src_y = imagey($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<$src_x; $x++)

for ($y=1; $y<$src_y; $y++)


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

$r = intval($src_clr2[ "赤"]+$度*($src_clr2["赤"]-$src_clr1 ["赤"]));

$g = intval($src_clr2["緑"]+$度*($src_clr2["緑"]-$src_clr1["緑"]));

$b = intval($src_clr2["青"]+$degree*($src_clr2["青"]-$src_clr1["青"])) ;

$r = min(255, max($r, 0));

$g = min(255, max($g, 0)); , 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 assign failed at $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); (($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") );

imagedestroy($im1);

} name="FormName" action="" method= "post"> を入力してください。画像のローカル パスまたは URL:


" ;


研磨度 (例: 0.6、3.0):


="">




0; $x--)

($y=)画像sy($im)-1; $y--) , $x-1, $y-1));

$clr2 = imagecolorsforindex($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
"; ($new_clr=imagecolorexact($im, $r, $g, $b))= =-1)

$new_clr = Imagecolorallocate($im, $r, $g, $b)

$cnt++;
if ($new_clr==-1) die("$x, $y ($cnt) でカラー割り当て失敗。");

imagesetpixel($im, $x, $y, $new_clr);

}



http://www.bkjia.com/PHPjc/318293.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/318293.html

技術記事

? //画像タイプの読み込み//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=IFF functionGetImageType($filen...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。