`
jakielong
  • 浏览: 228494 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex 图片滤镜效果实例

    博客分类:
  • Flex
阅读更多

先附上几个别人例子,引自:http://www.cnblogs.com/xxcainiao/archive/2008/11/08/1329664.html

1:聚光灯效果:

实例:http://www.rphelan.com/flex/SpotlightDemo/SpotlightDemo.html

源文件:http://www.rphelan.com/flex/SpotlightDemo/srcview/index.html

2:放大镜效果:

实例:http://www.rphelan.com/flex/MagnifyDemo/MagnifyDemo.html

源文件:http://www.rphelan.com/flex/MagnifyDemo/srcview/index.html

3:缩放模糊效果:

实例:http://www.rphelan.com/flex/ZoomBlurDemo/ZoomBlurDemo.html

源文件:http://www.rphelan.com/flex/ZoomBlurDemo/srcview/index.html

4:浮雕效果:

实例:http://www.rphelan.com/flex/SharpenDemo/SharpenDemo.html

源文件:http://www.rphelan.com/flex/SharpenDemo/srcview/index.html

5:水波效果:

实例:http://www.rphelan.com/flex/WaveReflectionDemo/WaveReflectionDemo.html

源文件:http://www.rphelan.com/flex/WaveReflectionDemo/srcview/index.html

都是使用了flashplayer10的ShaderFilter。

然后是一些理论性的知识。看了很多网页,不一一列举,不过http://dev.yesky.com/SoftChannel/72342371928637440/20050105/1896848.shtml给予的信息比较多。

人的眼睛对于图像的观察,人的眼睛对于灰度/亮度的敏感要远远大于对色彩的敏感,而人的眼睛对于暖色调和冷色调的敏感有要远大于对一般色彩的敏感度。经过大量的测试,人们得到了一个经验公式,来说明人的眼睛是如何识别亮度的:
Gray = Red * 0.3 + Green * 0.6 + Blue * 0.1
而右因为人的眼睛对于绿色的敏感度最大,就有了一个更加近似的公式:
Gray = Green

于是想到图片的灰度效果,可以通过将图片的各个像素中的Red和Blue值去掉来实现:

var bitmap:BitmapData = new BitmapData();

for (var i:uint = 0; i < bitmap.width; i++) {
for (var j:uint = 0; j < bitmap.height; j++) {
var color:uint = bitmap.getPixel(i, j);
color = color<<16>>>24;
color = color << 16 | color << 8 | color;
bitmap.setPixel(i, j, color);
}
}

然后想一想木雕效果,木雕是看上去是只有两个颜色的。于是可以在做灰度处理时,给一个分解值,当大于这个值时,全黑显示,不然全白。于是可以修改代码:

var bitmap:BitmapData = new BitmapData();

for (var i:uint = 0; i < bitmap.width; i++) {
for (var j:uint = 0; j < bitmap.height; j++) {
var color:uint = bitmap.getPixel(i, j);
color = color<<16>>>24;
color = color << 16 | color << 8 | color;
if (color > 128) color = 0xff;
else color = 0;
bitmap.setPixel(i, j, color);
}
}

再看看锐化效果。锐化就是比较相邻的几个像素,把当前像素加上和周围的像素的差就可以了。你可以将该差值乘以一个数值,比如0.3——这个数值就是锐化系数了。

图片柔化,原理和锐化一样,只不过它不是要体现差值,而是要缩小差值;它是将当前点用周围几个点的平均值来代替。

再就是扩散了,也就是水彩效果。一种简单的处理方法就是用当前点周围的随机点代替。于是想到做出具有某种风格的水彩效果——那就需要很复杂的处理方法了。

var bitmap:BitmapData = new BitmapData();

var rate:Number = 0.2;//扩散系数
for (var i:uint = 1; i < bitmap.width – 1; i++) {
for (var j:uint = 1; j < bitmap.height – 1; j++) {
if (Math.random() > rate) continue;
var ii:uint = i + (Math.random() > 0.5 ? 1 : -1);
var jj:uint = j + (Math.random() > 0.5 ? 1 : -1);
bitmap.setPixel(i, j, bitmap.getPixel(ii, jj));
}
}

对于我而言,最难理解的是浮雕效果的原理:将相邻的两个像素相减,得到的差加上127作为新的值。唉这是基于什么理论呢?

 

转载自:http://blog.csdn.net/yuanpan/archive/2009/10/14/4668853.aspx

分享到:
评论

相关推荐

    flex滤镜实例以及源码……

    import mx.events.FlexEvent; import mx.events.ListEvent; import mx.events.NumericStepperEvent; import mx.events.SliderEvent; //聚焦模糊 [Embed(source="pbj/zoomBlur.pbj",mimeType=...

    Flex中使用滤镜

    在Flex开发中,滤镜(Filters)是一种强大的视觉效果工具,可以用来增强或者改变舞台上的显示对象的外观。本文将深入探讨如何在Flex中使用滤镜,并基于提供的两个文件名——"magnify.pbj"和"magnify.pbk",我们将...

    Flex 特效2-缩放模糊效果

    这种效果通常用于平滑过渡或强调特定动作,例如图片的放大查看等场景。 #### 实现方法 要实现缩放模糊效果,我们可以通过自定义`ShaderFilter`来达到目的。`ShaderFilter`允许开发者自定义渲染效果,从而实现复杂...

    Flex 上传图片 预览 加载图片到内存

    这样,图片数据就被加载到内存中,可供后续处理,如缩放、裁剪、滤镜效果等。 4. **性能优化**: - 对于大尺寸图片,加载到内存可能会消耗大量资源,因此在预览阶段,可以考虑先对图片进行缩放处理,减少内存占用...

    纯AS3图片切换效果-包括渐变,电视墙,滴水融化,百叶窗,拉滑块,划入。.rar

    标签“as3 flex 图片切换效果”表明这些效果是基于AS3和Flex框架实现的。Flex是一个开源的MXML和AS3框架,用于构建富互联网应用程序(RIA)。开发者可以使用Flex的组件库和MXML标记语言来快速构建用户界面,而AS3则...

    Flex2的几个行为动画源码

    Flex2提供了Blur滤镜,可以对任何显示对象进行模糊处理,增加视觉效果。滤镜应用可能包括BlurFilter、DropShadowFilter、GlowFilter等。 4. **Example_3**: 由于没有具体描述,这个例子可能包含任何Flex2动画或行为...

    flexbuilder3training.rar

    这些实例覆盖了FlexBuilder3的基本组件和效果使用,是初学者入门Flex编程的好资料。通过逐步学习和实践,学习者可以掌握FlexBuilder3的基本操作和Flex应用开发的核心概念。同时,对于已经有一定经验的开发者来说,...

    Flex图像编辑工具

    Flex图像编辑工具是一种基于Adobe Flex技术的图形处理应用程序,它允许用户进行各种图像编辑操作。...同时,熟悉Flex和AS的开发者还能在此基础上扩展更多的功能,如滤镜效果、图层管理等,以增强工具的灵活性和实用性。

    flex在线拍照示例

    6. **图片处理与保存**:捕获的图片通常以位图数据的形式存在,可以对其进行进一步处理,如调整大小、裁剪、添加滤镜等。处理完成后,可以将图片保存到服务器或本地文件系统,也可以通过AJAX或其他网络技术上传至...

    flash as 3利用滤镜变换位图颜色

    `未命名-1.swf`是最终编译的Flash影片,当我们运行这个SWF时,可以看到滤镜效果在`Image.jpg`上显示出来。 为了进一步增强效果,我们可以使用其他滤镜与`ColorMatrixFilter`结合,例如`DropShadowFilter`或`...

    全面提升你的Flex Flash AS3程序效率.zip

    3. **图片自适应窗口大小,扣图,杂点,颗粒,效果**: 在Flex和Flash应用中,动态调整图片大小以适应窗口变化是一项常见的需求。使用BitmapData的scale()或draw()方法可以实现这一点,但要注意避免失真和性能下降。...

    Flex ActionScript 3.0交互式开发详解源码(六)

    Flex支持创建复杂的图形和动画效果。这部分将涵盖DisplayObject容器和绘图API,包括形状、位图、文本和滤镜的使用。还会讲述Timeline动画和Tween类的使用,以实现平滑的过渡效果。 第五部分:组件与自定义组件 Flex...

    flex 实现的拍照程序 含flash原码.rar

    5. **Image处理**:在拍照后,可能需要对图片进行一些处理,比如调整大小、裁剪、添加滤镜等。这可以通过BitmapData对象和相关的图形函数来完成。 6. **数据存储**:拍好的照片可以本地存储,也可以上传到服务器。...

    flex_Actionscript3

    - **动画滤镜**:随时间变化的滤镜效果。 ##### 4.5 位图 处理图像文件,包括加载和操作位图数据。 ##### 4.6 载入或嵌入内容 - **载入内容**:动态地加载资源到舞台上。 - **嵌入内容**:将资源直接嵌入到SWF文件...

    Css各大属性,关于Css特效。滤镜教材,定位教材

    在压缩包中,你将找到三份详细教材:“css滤镜教材.doc”涵盖了CSS滤镜的各种用法和实例,“css属性.doc”全面介绍了CSS的各种属性及其应用,“css定位教材.doc”则深入解析了CSS定位的原理和技巧。通过研读这些教材...

    Flex Easy Filters-开源

    1. **过滤器应用**:EasyFilter提供了一种直观的方式,将多种Adobe Flex内置的滤镜(如BitmapFilter)应用到DisplayObject上,如ColorMatrixFilter用于颜色调整,BlurFilter用于模糊效果,GlowFilter用于发光效果等...

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

    将Convolution滤镜应用于图像 8.7节. 通过摄像头将视频发送到FMS实例 8.8节. 访问用户的麦克风并创建声音显示 8.9节. 在Flex程序中平滑播放视频 8.10节. 检测像素级别的碰撞 8.11节. 读取和保持用户的网络摄像头...

    Flash+C#在线拍照源码_图片动画网站.rar

    在这个上下文中,C#可能被用来处理从Flash客户端发送的图像数据,例如保存照片到服务器、处理图片(如缩放、裁剪或应用滤镜)或者与其他服务进行通信。C#的强大功能和丰富的类库使其成为处理这些后端任务的理想选择...

    BLUR.rar_FlashMX/Flex源码_FlashMX_

    标题中的"BLUR.rar"可能是指一个包含模糊效果实现的压缩文件,而"FlashMX/Flex源码"标签表明这是使用Adobe Flash MX或Flex开发的源代码。Flash MX是一款早期的交互式内容创作工具,主要用于创建动画和网页交互元素,...

Global site tag (gtag.js) - Google Analytics