现在的位置: 首页 > 综合 > 正文

php 上传图片 对某一部分模糊处理 实现马赛克遮挡效果(待续)

2017年12月04日 ⁄ 综合 ⁄ 共 1852字 ⁄ 字号 评论关闭

本实例修改原jquery 插件Jcrop 在其基础上进行的修改

原来Jcrop是一个图片的剪切插件,可以实现对大图的剪切.

php 上传图片 对某一部分模糊处理 实现马赛克遮挡效果 本实例是针对用户上传汽车的图片带有牌照,可以对图片也就是牌照部分进行马赛克处理,这样,就不需要专业的处理工具像是美图秀秀什么的对图片进行处理了.

也可以应用到其他需要对图片某部分进行处理的操作中

实例可以在下面的连接中进行下载,下载先等等吧...

处理原图:

处理的操作过程:

最后处理的效果:

思路:主要是利用了php函数的ImageColorAt 对图片进行处理,服务器必须能使用GD库,才能进行此操作

主要的函数功能:

  1. function imagemask(&$im$x1$y1$x2$y2$deep)
      
  2. {   
  3.     for($x = $x1$x < $x2$x += $deep)
      
  4.     {   
  5.         for ($y = $y1$y < $y2$y += $deep)
      
  6.         {   
  7.             $color = ImageColorAt ($im$x + round($deep / 2), $y + round($deep / 2));
      
  8.             imagefilledrectangle ($im$x$y$x + $deep$y + $deep$color);
      
  9.         }   
  10.     }   
  11. }   

提交的操作代码:

  1. if ($_SERVER['REQUEST_METHOD'] == 'POST')   
  2. {   
  3.     //var_dump($_POST);exit;
      
  4.     $targ_w = $targ_h = 150;   
  5.     $jpeg_quality = 90;   
  6.   
  7.     $src = '../1186401751000.jpg';   //原始的图片
  8.     $img_r = imagecreatefromjpeg($src);   
  9.     //$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );  
  10.   
  11.     //imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);  
  12.   
  13.     //$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);  
  14.     //imagefilledarc($dst_r, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);  
  15.   
  16.     header('Content-type: image/jpeg');
  17. //imagemask注意这个函数里面的参数是累加起来的4,5参数
  18.     imagemask($img_r,(int)$_POST['x'],(int)$_POST['y'],(int)$_POST['x']+(int)$_POST['w'],(int)$_POST['y']+(int)$_POST['h'],8);
      
  19.     //imagemask($img_r, 200, 71.5, 335, 177.5, 8);  
  20.     imagejpeg($img_r,null,$jpeg_quality);   
  21.        
  22.        
  23.     /*header("Content-type: image/png");
  24.     $im = imagecreatefromjpeg("20120525082317.jpg"); 
  25.       
  26.     //imagefilledrectangle_grad($im, 57, 22, 103, 40, 8); 
  27.     imagepng($im);  
  28.     imagedestroy($im);*/  
  29.   
  30.     exit;   
  31. }   

补上:执行demo里面的crop.php文件 ,修改自原始文件

备注:本实例未完成,只是现实了功能,实际应用还得再做处理修改...

《php 上传图片 对某一部分模糊处理 实现马赛克遮挡效果(待续)》由php代码分享整理编辑,转载请保留本文地址:http://www.phpsharer.com/259.html

抱歉!评论已关闭.