`

用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实现图片滤镜效果附演示

    在本文中,我们将探讨如何使用HTML5的Canvas API来实现图片滤镜效果,特别是模拟摄像机拍摄电视屏幕时出现的点状颗粒效果。这个技术基于Canvas的2D渲染上下文,通过对图像数据进行操作来实现各种滤镜效果。 首先,...

    无需flash即可实现图片滤镜效果

    本主题聚焦于如何在不依赖Flash的情况下实现图片滤镜效果,这是一种增强用户体验并提升网站视觉吸引力的重要手段。 图片滤镜效果通常包括色彩调整、模糊、锐化、对比度增强、饱和度调整、色调和色调映射等多种功能...

    android完美的图片滤镜效果

    本教程将详细探讨如何在Android中实现完美的图片滤镜效果,主要基于ColorMatrix类,这个类是Android图形处理中的核心组件,可以方便地对图像的颜色进行调整。 首先,我们需要理解什么是ColorMatrix。ColorMatrix是...

    Canvas滤镜 灰度 浮雕 效果

    在这个项目中,我们关注的是如何通过JavaScript实现Canvas的滤镜效果,特别是灰度和浮雕效果。这些特效可以增强用户体验,为网站或应用程序添加更丰富的视觉表现。 首先,让我们了解灰度滤镜。在彩色图像中,每个...

    canvas学习和滤镜实现代码

    1. 绘制图像:drawImage(img, x, y, width, height)或drawImage(img, sx, sy, swidth, sheight, x, y, width, height)方法,可以用来在Canvas上绘制图片,也可以实现图片的缩放和裁剪。 2. 获取图像数据:...

    canvas实现的图片编辑库及使用案例

    我们可以使用`ctx.scale(x, y)`方法来改变画布的缩放比例,实现图片的放大和缩小。在用户操作时,调整`x`和`y`的值即可: ```javascript function zoom(scaleFactor) { ctx.scale(scaleFactor, scaleFactor); } ``...

    js实现图片轮换显示 滤镜效果

    在JavaScript中实现图片轮换显示和滤镜效果是常见的网页动态效果,这通常涉及到DOM操作、定时器以及图像处理技术。下面将详细讲解这两种实现方式及其通用滤镜效果。 一、图片轮换显示 1. **数组存储图片**:首先,...

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

    在这个“HTML5 canvas实现的图片三角形灰度滤镜效果源码”压缩包中,我们主要会涉及到以下几个核心知识点: 1. **HTML5 Canvas API**:Canvas是一个基于矢量图形的画布,允许开发者通过JavaScript动态地绘制图形。...

    HTML5+CSS仿Instagram应用图片滤镜效果

    CSS部分,特别是`css`文件夹中的样式表,是实现图片滤镜效果的核心。CSS滤镜是一个强大的特性,允许开发者对元素应用各种视觉效果,如模糊、灰度、饱和度、亮度、对比度、色调、饱和度、曝光度等。例如,`filter`...

    javascript经典特效---图片滤镜效果.rar

    本资源“javascript经典特效---图片滤镜效果.rar”显然聚焦于利用JavaScript实现图片滤镜效果,这是一种常见的Web前端技术,可以让用户在网页上实时预览和应用各种视觉效果到图像上。 在JavaScript中,处理图片滤镜...

    canvas图片左右旋转效果

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

    用canvas写的一个对比度

    在这个"用canvas写的一个对比度"的例子中,我们将探讨如何利用JavaScript操作Canvas API来调整图像的对比度,从而实现图片的动态视觉调整。 首先,Canvas API提供了一个名为`getImageData`的方法,它可以从画布上...

    html2canvas实现将dom生成图片并保存至本地

    通过以上介绍,我们可以了解到html2canvas是如何帮助我们在浏览器端实现DOM到图片的转换,以及如何在实际项目中运用这个库来生成和保存网页截图。虽然它有一些限制,但在许多场景下,如用户自定义分享内容、生成预览...

    html5 canvas绘制虚幻扭曲背景动画特效

    2. **图像滤镜**:HTML5的`WebGL`可以实现更复杂的滤镜效果,包括模糊、扭曲等。虽然不是2D渲染上下文的一部分,但在一些高级效果中,可能需要结合WebGL来完成。 3. **顶点动画**:对图形的顶点进行动态操作,例如平...

    html5 canvas拖动的流体图片动画效果.zip

    这个“html5 canvas拖动的流体图片动画效果”压缩包显然是一个示例项目,用于展示如何使用Canvas实现一种互动式的、用户可拖动的流体图片动画效果。这种效果通常在创建动态背景、艺术效果或者游戏时非常有用,因为它...

    canvas滤镜效果实现代码

    在本文中,我们将深入探讨如何使用HTML5的`canvas`元素来实现各种滤镜效果。`canvas`元素是HTML5中一个强大的特性,允许我们动态地在网页上绘制图形、图像,并进行各种图像处理操作。这里我们将关注的是如何通过...

    原生js天娱传媒官网滤镜效果的焦点图片切换代码

    本篇文章将详细探讨如何使用原生JavaScript实现类似天娱传媒官网的滤镜效果焦点图片切换。 首先,我们需要理解滤镜效果的基本概念。滤镜效果通常指的是对图像应用各种视觉调整,如模糊、饱和度、对比度、色调等。在...

    jquery利用html5 canvas实现的图片幻灯马赛克变换展示效果.zip

    在本项目中,"jquery利用html5 canvas实现的图片幻灯马赛克变换展示效果.zip",开发者使用了jQuery库和HTML5的Canvas元素来创建一个动态的图片展示效果,其中图片会经历马赛克变换,形成一种独特的视觉体验。...

    HTML5 canvas+svg实现火焰燃烧滤镜动画效果源码.zip

    在火焰燃烧效果中,SVG可能被用来创建静态的火焰形状,然后通过CSS或JavaScript改变其属性,如颜色、透明度和变形,以配合canvas实现的动态火焰动画。 实现火焰燃烧滤镜动画效果时,开发者可能会使用以下关键步骤:...

Global site tag (gtag.js) - Google Analytics