Flash在其模糊滤镜中内部使用什么模糊算法

时间:2015-10-01 23:58:11

标签: javascript algorithm actionscript-3 flash blur

我尝试将使用AS3编写的内容转换为JavaScript,而AS3应用程序使用内置于Blur Filter的内容

有谁知道这个使用的模糊算法或如何在JavaScript中复制它?

由于

1 个答案:

答案 0 :(得分:5)

这是他们在文档中说的Gaussian样式模糊:

  

当quality属性设置为高时,它近似为Gaussian   模糊过滤器

它是高斯滤波器/ Weierstrass变换风格的高度优化版本,特别是在使用2 x / y偏移功率时,因为您可以将其实时应用于视频,因此您无法获得准确的导致非Flash应用,但你可以真正关闭,没有人会知道差异。

在html / css / javascript中有很多方法可以进行高斯模糊。有一些方法可以通过CSS中的花哨的阴影技术,使用HTML5 Canvas并应用自定义过滤器,通过字节数组进行位图的javascript处理等等......有些基于跨浏览器的限制,有些还有CPU处理问题等等。 google / bing是你的朋友,可以搜索人们已经开发的不同技术以及他们遇到的利弊。

我抓住了以下一个用于快速HTML5项目:

  

马里奥·克林格曼(Mario Klingemann)创造了一个“差不多”的快速实施   高斯模糊算法“在JavaScript中。

http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html http://badassjs.com/post/1298940200/stackblur

以下是我用来比较它的图像,它与Flash使用它的BlurFilter“足够接近”。 (StackBlur会产生一个稍暗的图像,假设他正在跳过一些会导致例程变慢的规范化)

My Air版;质量设置为HIGH,x / y滤波器偏移设置为10: enter image description here

这是StackBlur设置为半径10: enter image description here

这是原始位图: enter image description here