`

用canvas实现图片滤镜效果

阅读更多

1.灰度效果

图片过滤效果之灰度效果

图片过滤效果之灰度效果

算法及原理:

.299 * r + .587 * g + .114 * b;

 

2.油画效果

图片滤镜效果之油画效果

算法及原理:

用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最常用的是随机的采用相邻点进行替代。

3.连环画效果

图片滤镜效果之连环画效果

图片滤镜效果之连环画效果

算法及原理:
连环画的效果与图像灰度化后的效果相似,它们都是灰度图,但连环画增大了图像的对比度,使整体明暗效果更强.
算法:
R = |g – b + g + r| * r / 256
G = |b – g + b + r| * r / 256;
B = |b – g + b + r | * g / 256;

4.怀旧效果

图片滤镜效果之怀旧效果

图片滤镜效果之怀旧效果

 

5.底片效果

图片滤镜效果之底片效果

图片滤镜效果之底片效果

算法原理:将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值,即
R = 255 – R;G = 255 – G;B = 255 – B;

 

6.黑白效果

图片过滤效果之黑白效果

图片过滤效果之黑白效果

算法及原理:
求RGB平均值Avg = (R + G + B) / 3,如果Avg >= 100,则新的颜色值为R=G=B=255;
如果Avg < 100,则新的颜色值为R=G=B=0;255就是白色,0就是黑色;
至于为什么用100作比较,这是一个经验值吧,设置为128也可以,可以根据效果来调整。

7.浮雕效果

图片过滤效果之浮雕效果

图片过滤效果之浮雕效果

算法及原理:
用相邻点的RGB值减去当前点的RGB值并加上128作为新的RGB值。
由于图片中相邻点的颜色值是比较接近的,因此这样的算法处理之后,只有颜色的边沿区域,
也就是相邻颜色差异较大的部分的结果才会比较明显,而其他平滑区域则值都接近128左右,
也就是灰色,这样就具有了浮雕效果。
在实际的效果中,这样处理后,有些区域可能还是会有”彩色”的一些点或者条状痕迹,所以最好再对新的RGB值做一个灰度处理。

 

8.熔铸效果

图片滤镜效果之熔铸效果

图片滤镜效果之熔铸效果

算法及原理:
r = r*128/(g+b +1);
g = g*128/(r+b +1);
b = b*128/(g+r +1);

9.冰冻效果

图片滤镜效果之冰冻效果

图片滤镜效果之冰冻效果

算法及原理:
r = (r-g-b)*3/2;
g = (g-r-b)*3/2;
b = (b-g-r)*3/2;

 

已经集成到博客的小工具里了,点这里查看效果。

下面给出原始代码的下载地址:下载地址

0
0
分享到:
评论

相关推荐

    用canvas实现图片滤镜效果附演示

    是一个模拟摄像机拍摄电视屏幕画面时出现点状颗粒的效果,有兴趣研究的朋友可以尝试更多的效果,代码没有经过优化,只是一个粗糙的Demo,喜欢的朋友可以研究下

    HTML5 canvas实现的图片三角形灰度滤镜效果源码.zip

    HTML5 canvas实现的图片三角形灰度滤镜效果源码.zip

    canvas图片左右旋转效果

    我们使用HTML5的canvas标签可对图片进行旋转操作,对于ie8版本以下不支持HTML5的浏览器,可使用IE特有的滤镜效果来实现... 更详细canvas图片左右旋转效果教程,http://www.sucaihuo.com/js/27.html。你也可以在素材...

    js canvas实现画图、滤镜效果

    本文实例为大家分享了canvas实现画图、滤镜效果的具体代码,供大家参考,具体内容如下 1、用canvas来实现画图的代码如下: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt;...

    canvas学习和滤镜实现代码

    在这个数码产品泛滥的...用过Photoshop的朋友都清楚ps中有一大堆的滤镜,下面我们将会用js的canvas技术去实现几种滤镜效果。 最近学习了 HTML5 中的重头戏– canvas 。利用 canvas,前端人员可以很轻松地、进行图像处

    Canvas系列之滤镜效果

    因此像滤镜这些东西,其实 Canvas 也可以来实现。接下来,是见证奇迹的时刻。 首先,我们需要有一个 Canvas 容器,例如: &lt;canvas id=myCanvas width=800 height=800&gt;&lt;/canvas&gt; 接下来,我们需要将使用 Canvas 来...

    使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法

    今天在使用icloud的时候看到苹果icloud官网的毛玻璃效果非常赞,仔细研究了一下它的实现方式,是使用js配合background-image: -webkit-canvas的形式绘制出的毛玻璃背景图片。不过今天又仔细研究了一下css3中的blur...

    Delphi7编程100例

    实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的...

    Delphi编程100例

    实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种...

    《Delphi7编程100例》代码

    ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态...Canvas生成渐变色窗口背景WINAPM风格磁化窗口软件封面的图片显示制作实现图片的任意角度旋转奇妙的拼图游戏使用PaintBox控件制作画图程序使用...

    图片(旋转/缩放/翻转)变换效果

    1,用滤镜、ccs3和canvas实现相同的变换效果; 2,可任意角度旋转; 3,可任意角度翻转; 4,可扩展滚轮缩放; 5,可扩展拖动旋转。 兼容:ie6/7/8, firefox 3.6.8, opera 10.6, safari 5.0.1, chrome 5.0

    Delphi7 编程 100 实例

    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态分隔...Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox...

    使图片旋转的3种解决方案

    1)css3实现图片旋转功能:支持的浏览器有chrome,firefox;opera是不支持的。 具体代码为:-moz-transfrom:rotate(90deg);-webkit-ransfrom:rotate(90deg);上述代码的意思就是将图片顺时针旋转90度,其实可以旋转...

    delphi7编程百例

    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态...Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 使用...

    delphi 开发经验技巧宝典源码

    0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 ...

    delphi 开发经验技巧宝典源码06

    0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 ...

    flex3的cookbook书籍完整版dpf(包含目录)

    使用ColorPicker设置Canvas颜色 2.4节. 使用SWFLoader载入SWF 2.5节. 设置组件的标签索引 2.6节. 设置控件的labelFunction 2.7节. 提供菜单数据 2.8. 动态填充菜单 2.9节. 为菜单类控件创建事件处理函数 2.10节. ...

Global site tag (gtag.js) - Google Analytics