马赛克 php,php实现图片局部打马赛克的方法
本文实例讲述了php实现图片局部打马赛克的方法。分享给大家供大家参考。具体分析如下:
原理:
对图片中选定区域的每一像素,增加若干宽度及高度,生成矩型。而每一像素的矩型重叠在一起,就形成了马赛克效果。
本例使用GD库的imagecolorat获取像素颜色,使用imagefilledrectangle画矩型。
效果图如下所示:
代码如下:
/** 图片局部打马赛克
* @param String $source 原图
* @param Stirng $dest 生成的图片
* @param int $x1 起点横坐标
* @param int $y1 起点纵坐标
* @param int $x2 终点横坐标
* @param int $y2 终点纵坐标
* @param int $deep 深度,数字越大越模糊
* @return boolean
*/
function imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){
// 判断原图是否存在
if(!file_exists($source)){
return false;
}
// 获取原图信息
list($owidth, $oheight, $otype) = getimagesize($source);
// 判断区域是否超出图片
if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2<0){
return false;
}
switch($otype){
case 1: $source_img = imagecreatefromgif($source); break;
case 2: $source_img = imagecreatefromjpeg($source); break;
case 3: $source_img = imagecreatefrompng($source); break;
default:
return false;
}
// 打马赛克
for($x=$x1; $x
for($y=$y1; $y
$color = imagecolorat($source_img, $x+round($deep/2), $y+round($deep/2));
imagefilledrectangle($source_img, $x, $y, $x+$deep, $y+$deep, $color);
}
}
// 生成图片
switch($otype){
case 1: imagegif($source_img, $dest); break;
case 2: imagejpeg($source_img, $dest); break;
case 3: imagepng($source_img, $dest); break;
}
return is_file($dest)? true : false;
}
$source = 'source.jpg';
$dest = 'dest.jpg';
$flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4);
echo '';
echo '';
?>
完整实例代码点击此处本站下载。
希望本文所述对大家的php程序设计有所帮助。
马赛克 php,php实现图片局部打马赛克的方法相关推荐
- 马赛克 php,php实现图片局部打马赛克的方法_php技巧
本文实例讲述了php实现图片局部打马赛克的方法.分享给大家供大家参考.具体分析如下: 原理: 对图片中选定区域的每一像素,增加若干宽度及高度,生成矩型.而每一像素的矩型重叠在一起,就形成了马赛克效果. ...
- php 图片局部打马赛克
php 图片局部打马赛克 原理: 对图片中选定区域的每一像素,增加若干宽度及高度,生成矩型.而每一像素的矩型重叠在一起,就形成了马赛克效果. 本例使用GD库的imagecolorat获取像素颜色,使用 ...
- Java实现给图片局部打马赛克
因为项目需要用到给图片打码的功能,本身实现也不是很复杂,就没有借鉴其他类库,参照网上的一些资料实现了一个简单的给图片局部打码的功能.也可以给一个图片的多个局部进行打码. ImageArea.java ...
- Java实现给图片局部打马赛克(前提是知道坐标的情况下)
直接上代码 package com.test;/*** 图片区域类* @author hty**/ public class ImageArea {int x; //指定区域左上角横坐标int y; ...
- Photoshop怎么实现图片局部马赛克
学好ps是一件很重要的事情,作为日常必备技能,不管是在遇到这样的同时请求帮忙或者老板发配的任务的时候,就能分分钟派上用场了. 1:安装运行photoshop,点击文件-打开,选择要ps的图片. 图片. ...
- linux程序给图片打马赛克,word中给图片打马赛克
一.如何将word图片打马赛克 将word图片打马赛克的具体操作步骤如下: 我们需要准备的材料有:电脑.Word. 1.首先我们打开需要编辑的Word,在插入页面下方点击点击"形状" ...
- matlab检测图片马赛克,python 检测图片是否有马赛克
原理讲的很清晰,给原博主一个赞 边缘检测之后按照正方形检索来判定是否是马赛克内容 原理知晓了之后就很好做了 话说MATLAB转化为python的过程还是很有趣的 from PIL import Ima ...
- python图片马赛克_python 检测图片是否有马赛克
原理讲的很清晰,给原博主一个赞 边缘检测之后按照正方形检索来判定是否是马赛克内容 原理知晓了之后就很好做了 话说MATLAB转化为python的过程还是很有趣的 from PIL import Ima ...
- 图片马赛克去除工具_图片太多该如何进行排版呢?
胖友们大家好呀,我是三儿 昨天三儿刚讲了多文字如何排版 就有胖友在后台留言说问三儿 如何对图片较多的内容排版 那么今天 三儿就来教大家 图片较多时 我们该怎样排版! 赶紧拿着小本本做好笔记哦! 图片的 ...
最新文章
- yunyang tensorflow-yolov3 Intel Realsense D435 (并发)使用locals()函数批量配置摄像头运行识别程序并画框(代码记录)(代码示例)
- micropython oled中文_micropython esp8266+ssd1306(OLED) 显示中文(示例)
- C++确定一个字符串是否是另一个字符串的排列的算法(附完整源码)
- hdu 2586 How far away ?
- 深入了解SpringCloud Hystrix
- 关于深度学习,这些知识点你需要了解一下
- 面试题24. 反转链表
- HP-UX Oracle Ioctl ASYNC_CONFIG error=1
- 使用Filter防止浏览器缓存页面或请求结果
- 微信小程序开发官方文档
- 用App Designer 制作2048小游戏
- c语言100道题 第二道 出租车计价
- 使用 Ruby 开发代码生成器
- 立创EDA安装ibom插件
- 学习PLC LAD 梯形逻辑宝藏网站
- 2D转换综合写法(13)
- 市场调查与分析[市场调查员][抽样技术方案][抽样方法][F检验]
- Sybases数据库----安装
- Python是“真火”还是“虚火”?
- ORACLE错误一览表,方便查询!
热门文章
- beast软件linux用法,声卡驱动设置 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
- Python精选库大全,建议收藏留用!
- Python GUI篇——关不掉的小窗口
- Jupyter的安装和基本使用
- REST与RESTful
- Javascript——进阶(事件、数组操作、字符串操作、定时器)
- 向量表示,投影,协方差矩阵,PCA
- 本地调试微信接口方法
- 为什么envi镶嵌老是出错_孩子为什么不专注,家长真的了解吗?
- mongodb模糊查询_MongoDB技术从0到1+