`
txf2004
  • 浏览: 7041627 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex图像编程技巧 3:图像滤镜

阅读更多


Flex图像编程技巧 3:图像滤镜


Andrew Trice


这是Andrew图像编程系列的第三篇,当然这些技巧不仅适用于FLEX,他们同样也适用于FLASH,本篇主要关注的是如何在图像处理的过程中恰当的运用滤镜


图像滤镜使得编程人员能够对任意的显示对象进行像素级别的操作及变换,因此任何能够在FLEX中显示的对象都可以运用滤镜来进行诸如:模糊,发光,阴影甚至是颜色处理,锐化,边界检测。听起来似乎很玄,但是其实上手十分容易,在这篇帖子中我将从FLEX的几个简单的特性入手,如:模糊,阴影,发光以及颜色变换等等。也许在后续的一些贴子中我会展示一些更加高深的技术如:置换滤镜,羽化等等


All of these examples begin with the same gear image that we've used in the previous two examples:这里用到的例子还是我们在前面的例子中使用的齿轮






可以使用AS3或者是MXML标签来应用滤镜,这里的例子主要是透过AS3代码来交代如何使用滤镜


首先,让我们来看一下模糊滤镜。这个滤镜非常简单,首先你要决定图像在X,Y两个方向的模糊度,当然还有量,量属性决定了在图像进行模糊渲染的时候所要进行的迭代计算次数,因此越高的质量,迭代的次数就越多,占用的CPU资源当然也就越大。当然你不需要设置所有的属性,因为这些属性都有缺省值,这里所有的例子都展示了如何设置滤镜的参数,以及对应的效果。


var filter : BlurFilter = new BlurFilter();

filter.blurX = blurX.value;
filter.blurY = blurY.value;
filter.quality = quality.value;
image.filters = [ filter ]


另一个简单的以及我非常喜爱的滤镜就是阴影滤镜,使用这个类你可以为任何东西添加阴影。简单易用,功能强大。


var filter : DropShadowFilter = new DropShadowFilter();

filter.blurX = blurX.value;
filter.blurY = blurY.value;
filter.quality = quality.value;
filter.alpha = _alpha.value;
filter.angle = angle.value;
filter.color = color.selectedColor;
filter.distance = distance.value;
filter.inner = inner.selected;
image.filters = [ filter ];


这儿还有一些拉伸和发光的例子,代码和上面的基本一致,我就不贴出来了,你只需要创建一个滤镜的实例,然后将对象的滤镜数组添加相应的滤镜



>



使用ColorMatrixFilter,你同样也可以加强或者改变你图像的颜色(也包括其他的所有显示对象),本例中仅适用此技术来改变现实对象的像素的颜色,当然你也可以使用该技术来添加或者去除显示颜色,增加艾对比度。这是图像处理的非常强大的工具

var filter : ColorMatrixFilter = new ColorMatrixFilter();

var matrix:Array = new Array();
matrix = matrix.concat([r.value, 0, 0, 0, 0]); // red
matrix = matrix.concat([0, g.value, 0, 0, 0]); // green
matrix = matrix.concat([0, 0, b.value, 0, 0]); // blue
matrix = matrix.concat([0, 0, 0, _alpha.value, 0]); // alpha
filter.matrix = matrix;
image.filters = [ filter ];




当你把这些滤镜组合起来使用的时候,你就能够体会到滤镜的强大之处了,正如上面所提到的滤镜可以作为滤镜数组参数的一部分应用到一定的对象,可以使用的滤镜的数量是没有明确的限制的,当然你要记住,你使用的滤镜越多,你耗费的CPU时间就越多,下面是如何将这些滤镜组合起来的一个例子



var b : BlurFilter = new BlurFilter();

var d : DropShadowFilter = new DropShadowFilter( 15 );

var g : GlowFilter = new GlowFilter( 0xFF0000, 1, 5, 5, 2, 1, true );

image.filters = [ b, d, g ]


... and here is the output:



你可以从下面的网址获得前面的所有教程


http://www.cynergysystems.com/blogs/blogs/andrew.trice/filters/filters.html


可以从下面的网址获得教程的所有源代码


http://www.cynergysystems.com/blogs/blogs/andrew.trice/filters/srcview/


还有这里:


http://www.cynergysystems.com/blogs/blogs/andrew.trice/filters/srcview/filters.zip


正如我前面提到的,在这篇帖子中,我并不会覆盖所有的滤镜,但是我还是给出不少的使用滤镜能够达到的效果


Bending The Rules:弯曲的窗口


使用置换滤镜的效果我们能够轻易的完成弯曲的窗口的效果


http://www.cynergysystems.com/blogs/page/andrewtrice?entry=bending_the_rules


WebCam Displacement:


详细的讲解可以从下面的连接获得


http://www.cynergysystems.com/blogs/page/andrewtrice?entry=displacementmapfilter_webcam_tons_o_fun


当然要了解滤镜的详细工作原理最好的资源永远是: Adobe Flex language reference.


WebCam Displacement:



分享到:
评论

相关推荐

    Flex图像编辑工具

    Flex图像编辑工具是一种基于Adobe Flex技术的图形处理应用程序,它允许用户进行各种图像编辑操作。Flex是由Adobe开发的一种开源框架,主要用于构建富互联网应用程序(RIA),尤其在Web应用中广泛应用。该工具的手动...

    flex 图片编辑器

    Flex 图片编辑器是一种...总的来说,开发Flex图片编辑器需要掌握ActionScript编程、Flex框架、图像处理原理以及用户体验设计等多个方面的知识,同时考虑性能和兼容性问题,以提供流畅、功能丰富的在线图片编辑体验。

    基于adobe flash平台的 相片编辑器[flex部分]

    在相片编辑器中,ActionScript将处理图片的加载、显示、编辑等操作,例如使用BitmapData对象来处理像素级别的图像操作,或者使用Filter类实现各种滤镜效果。 3. **MXML界面设计**:MXML是一种声明式语言,用于定义...

    Flex样式设计工具

    Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),尤其是在使用ActionScript和MXML编程时。Flex样式设计工具的出现,为开发者提供了图形化的界面,使样式编辑变得更加直观和高效。 在Flex开发中,样式...

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

    在Flex和Flash开发中,AS3(ActionScript 3)是一种强大的编程语言,用于创建交互式的Web内容,包括动画和富媒体应用。本压缩包"全面提升你的Flex Flash AS3程序效率.zip"聚焦于如何优化AS3代码,提高Flex和Flash...

    Flex_4_Fun

    滤镜是Flex 4提供的一种强大工具,可以用来快速对图像进行各种效果处理。这一章节重点介绍了几种常见的滤镜类型及其应用方法: 1. **模糊滤镜**:用于模拟图像模糊的效果,常用于制作背景模糊的场景。 2. **颜色...

    Flex RIA AS3网页游戏 BitmapData CopyPixel用法.rar

    在Flex中,ActionScript 3(AS3)是主要的编程语言,它提供了丰富的功能,包括对图像处理的支持。在游戏开发中,BitmapData类是AS3中的一个关键组件,用于处理像素级别的图像数据。这个压缩包"Flex RIA AS3网页游戏 ...

    FLEX在线照相

    3. **图像处理**:可能涉及到对捕获的图像进行裁剪、旋转、滤镜等操作,这可能需要用到ActionScript的BitmapData类和其他图像处理库。 4. **事件处理**:在用户交互和摄像头操作中,事件驱动编程是核心,了解如何...

    基于adobe flash平台的 相片编辑器[as3工程部分] 一

    在本项目中,"基于Adobe Flash平台的相片编辑器[AS3工程部分]一" 是一个使用ActionScript 3(AS3)编程语言在FlexBuilder 3环境中开发的交互式图像编辑应用程序。这个工程主要关注于用户界面的构建和基本的图像处理...

    flex_Actionscript3

    ### Flex与ActionScript 3.0动画开发指南 #### 一、基础知识概览 ##### 1.1 动画的概念 动画是指通过一系列连续变化的画面来表现运动效果的技术。在Flash平台中,动画通常分为两种形式:关键帧动画和程序控制动画...

    flex示例

    3. **ActionScript**:ActionScript是Flex中用于编写应用程序逻辑的脚本语言,基于ECMAScript。在MXML文件中,可以通过嵌入ActionScript代码或者链接到外部AS文件来扩展组件功能。例如,`SlideShow.mxml`可能包含...

    srl.rar_ColorMatrixArrays.as_SRL_flex_flex 操作系统_flex portal

    颜色矩阵可以用来实现各种图像滤镜和特效,例如色彩校正、饱和度调整、亮度和对比度改变等。在Flex应用中,这种功能可能用于机柜管理系统的可视化部分,比如显示不同状态的机柜用不同的颜色表示。 “flex_portal”...

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

    ActionScript是Adobe Flash Professional和Flex的核心编程语言,而Flash AS 3是其一个版本,提供了更强大的功能和性能提升。通过学习这个主题,我们可以创建出丰富多彩且动态的视觉效果。 首先,我们需要了解`...

    flex在线拍照示例

    综上所述,Flex在线拍照示例涉及的技术包括Flex框架、ActionScript编程、摄像头和麦克风访问、图像处理以及用户交互设计。通过学习和掌握这些知识点,开发者能够创建功能丰富的Web应用,提供类似移动应用的多媒体...

    flash 图片编辑器

    4. 图像处理:掌握在Flash/Flex环境中如何处理图像数据,如像素操作、滤镜效果、图像格式转换等。 5. 开源源码:如何阅读和分析开源项目,从中学习他人的编程技巧和项目组织方式,以及如何根据需求进行修改和扩展。 ...

    AS3几个资料

    AS3,全称为ActionScript 3.0,是Adobe公司开发的一种编程语言,主要用于创建交互式内容、网页动画以及富互联网应用(RIA...通过学习和分析提供的代码示例,开发者能够提升自己的AS3编程技巧,并将其应用于实际项目中。

    Flex_4.0_RIA开发详解讲义

    - **特效和滤镜效果**:增加了更多视觉效果,如动画和高级图像处理。 - **双向绑定功能**:允许数据模型和视图之间的自动同步,减少了手动更新的工作量。 - **增强的CSS支持**:改进了样式表的处理,便于实现复杂的...

    使用filters中的ColorMatrixFilter

    在本文中,我们将深入探讨如何在编程环境中使用`ColorMatrixFilter`,这是一个广泛应用于图形处理和图像滤镜的工具。`ColorMatrixFilter`通常在ActionScript 3(AS3)和Flex中使用,允许开发者通过调整颜色矩阵来...

Global site tag (gtag.js) - Google Analytics