ホームページ  >  記事  >  php教程  >  PHP での画像の鮮明化

PHP での画像の鮮明化

WBOY
WBOYオリジナル
2016-06-21 09:07:461239ブラウズ

//画像の種類を読み取ります
//1 = GIF、2 = JPG、3 = PNG、4 = SWF、5 = PSD、6 = BMP、7 = TIFF (インテル バイト オーダー)、8 = TIFF (motorola バイト オーダー)、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 = 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=1; $x for ($y=1; $y {
$src_clr1 = imagecolorsforindex($src_im, imagecolorat($src_im, $x-1, $y-1));
$src_clr2 = imagecolorsforindex($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));
$b = min(255, max($g, 0)); (255, max($b, 0));
//エコー "r:$r, g:$g, b:$b
"; $r, $g, $b))==-1)
$dst_clr = Imagecolorallocate($dst_im, $r, $g, $b);
if ($dst_clr==-1) "$x, $y ($cnt) でカラー割り当てに失敗しました。");
imagesetpixel($dst_im, $x, $y, $dst_clr); }
return $dst_im}
$ImageFunctions = array( "imagecreatefromwbmp", "imagecreatefromgif", "imagecreatefromjpeg", "imagecreatefrompng");

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






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