本实例修改原jquery 插件Jcrop 在其基础上进行的修改
原来Jcrop是一个图片的剪切插件,可以实现对大图的剪切.
php 上传图片 对某一部分模糊处理 实现马赛克遮挡效果 本实例是针对用户上传汽车的图片带有牌照,可以对图片也就是牌照部分进行马赛克处理,这样,就不需要专业的处理工具像是美图秀秀什么的对图片进行处理了.
也可以应用到其他需要对图片某部分进行处理的操作中
实例可以在下面的连接中进行下载,下载先等等吧...
处理原图:
处理的操作过程:
最后处理的效果:
思路:主要是利用了php函数的ImageColorAt 对图片进行处理,服务器必须能使用GD库,才能进行此操作
主要的函数功能:
- function imagemask(&$im, $x1, $y1, $x2, $y2, $deep)
- {
- for($x = $x1; $x < $x2; $x += $deep)
- {
- for ($y = $y1; $y < $y2; $y += $deep)
- {
- $color = ImageColorAt ($im, $x + round($deep / 2), $y + round($deep / 2));
- imagefilledrectangle ($im, $x, $y, $x + $deep, $y + $deep, $color);
- }
- }
- }
提交的操作代码:
- if ($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- //var_dump($_POST);exit;
- $targ_w = $targ_h = 150;
- $jpeg_quality = 90;
- $src = '../1186401751000.jpg'; //原始的图片
- $img_r = imagecreatefromjpeg($src);
- //$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
- //imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
- //$navy = imagecolorallocate($image, 0x00, 0x00, 0x80);
- //imagefilledarc($dst_r, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
- header('Content-type: image/jpeg');
- //imagemask注意这个函数里面的参数是累加起来的4,5参数
- imagemask($img_r,(int)$_POST['x'],(int)$_POST['y'],(int)$_POST['x']+(int)$_POST['w'],(int)$_POST['y']+(int)$_POST['h'],8);
- //imagemask($img_r, 200, 71.5, 335, 177.5, 8);
- imagejpeg($img_r,null,$jpeg_quality);
- /*header("Content-type: image/png");
- $im = imagecreatefromjpeg("20120525082317.jpg");
- //imagefilledrectangle_grad($im, 57, 22, 103, 40, 8);
- imagepng($im);
- imagedestroy($im);*/
- exit;
- }
补上:执行demo里面的crop.php文件 ,修改自原始文件
备注:本实例未完成,只是现实了功能,实际应用还得再做处理修改...
《php 上传图片 对某一部分模糊处理 实现马赛克遮挡效果(待续)》由php代码分享整理编辑,转载请保留本文地址:http://www.phpsharer.com/259.html