非法不多说 直接上代码
$img = 'http://photocdn.sohu.com/20121208/Img359836294.jpg'; // 像素级别 $xs = 3; // 是否取反 $f = true; $im = imagecreatefromjpeg($img); //图片路径 ob_start (); imagejpeg($im); $image_data = ob_get_contents (); ob_end_clean (); $base64Img = base64_encode($image_data); echo '<img src="data:image/jpg;base64,'.$base64Img.'"/>'; //获取当前待修改图片像素(内置函数) $x = imagesx($im); $y = imagesy($im); print_r('<br/>'); print_r('X像素'.$x); print_r(' Y像素'.$y); print_r('<br/>'); $newx = $x/$xs; $newy = $y/$xs; //新建一个真彩色图像(内置函数) $i = imagecreatetruecolor($newx, $newy); //重采样拷贝部分图像并调整大小(内置函数) imagecopyresampled($i, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y); $bk = -999; $bx = 0; $by = 0; for ($y = 0; $y < imagesy($i); $y++) { for ($x = 0; $x < imagesx($i); $x++) { $rgb = imagecolorat($i, $x, $y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; $ba = $r + $g + $b; if($f)$ba = ~$ba; // 计算差值 if ($bk < $ba){ $bk = $ba; $bx = $x; $by = $y; } } } $red=imagecolorallocate($im,255,0,0); imageellipse($im,($bx*$xs),($by*$xs),20,20,$red); ob_start (); imagejpeg($im); $image_data = ob_get_contents (); ob_end_clean (); $base64Img = base64_encode($image_data); echo '<img src="data:image/jpg;base64,'.$base64Img.'"/>'; echo '<br/>'; print_r('像素位置'.($bx*$xs).'>>'.($by*$xs));
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。
未经允许不得转载:Str Tom工作室 » php检索图片像素最接近的色值位置