`

[转载] AS3.0中的显示编程(末篇)-- 滤镜(下)

阅读更多
http://windtoto.blog.51cto.com/1986737/405985

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://windtoto.blog.51cto.com/1986737/405985
      剩下的三种滤镜,因为我自己也不是很懂矩阵啊这些的,只能做些简单的范例和说明了,抱歉!颜色矩阵滤镜、卷积滤镜、置换图滤镜这三种滤镜只能通过AS代码实现。如果说上面的六种滤镜,只是在原图的基础上做些简单的修改,那么这三种滤镜,就可以称之为大手术了,让我们继续往下看:

(7)颜色矩阵滤镜(ColorMatrixFilter)
      颜色矩阵滤镜用于过滤显示对象的颜色和Alpha值。可以进行饱和度的更改、色相旋转、将亮度更改为 Alpha,以及生成其它颜色操作效果等等。
      我这边举一个例子,大家先看效果图:
     


      在那些全国悲伤的日子,我们需要停止娱乐节目,把Flash变灰来表示我们沉痛的哀悼。这种变灰的效果当然有很多方式来实现,最简便的是用JS控制网页。上次看到百度有人问,在Flash里要怎么实现这个效果,最佳回答是在属性面板里修改颜色。汗,这样需要多大的工程量啊!其实不用那么麻烦,只要做一个颜色矩阵滤镜并应用就可以实现这个效果了。
      AS代码如下,具体内容我就不解释了,不要求学会:
var matrix:Array = new Array();
matrix = matrix.concat([0.3086, 0.6094, 0.082, 0, 0]); // red
matrix = matrix.concat([0.3086, 0.6094, 0.082, 0, 0]); // green
matrix = matrix.concat([0.3086, 0.6094, 0.082, 0, 0]); // blue
matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha
var gray:ColorMatrixFilter = new ColorMatrixFilter(matrix);
var filtersArray:Array = new Array(gray);
tt.filters = filtersArray;

      (8)卷积滤镜(ConvolutionFilter)
      卷积滤镜可用于对BitmapData对象或显示对象应用一些特殊的图像变形,如模糊、锐化、浮雕、背反、光亮等。
      模糊效果:
     


      AS代码如下:
var matrix:Array = new Array();
matrix = matrix.concat([0, 1, 0]);
matrix = matrix.concat([1, 1, 1]);
matrix = matrix.concat([0, 1, 0]);
var convolution:ConvolutionFilter = new ConvolutionFilter();
convolution.matrixX = 3;
convolution.matrixY = 3;
convolution.matrix = matrix;
convolution.divisor = 5;
var filtersArray:Array = new Array(convolution);
tt.filters = filtersArray;

      锐化效果:
     


      AS代码如下:
var matrix:Array = new Array();
matrix = matrix.concat([0, -1, 0]);
matrix = matrix.concat([-1, 5, -1]);
matrix = matrix.concat([0, -1, 0]);
var convolution:ConvolutionFilter = new ConvolutionFilter();
convolution.matrixX = 3;
convolution.matrixY = 3;
convolution.matrix = matrix;
convolution.divisor = 1;
var filtersArray:Array = new Array(convolution);
tt.filters = filtersArray;

      浮雕效果:
     


      AS代码:
var matrix:Array = new Array();
matrix = matrix.concat([-2, -1, 0]);
matrix = matrix.concat([-1, 1, 1]);
matrix = matrix.concat([0, 1, 2]);
var convolution:ConvolutionFilter = new ConvolutionFilter();
convolution.matrixX = 3;
convolution.matrixY = 3;
convolution.matrix = matrix;
convolution.divisor = 1;
var filtersArray:Array = new Array(convolution);
tt.filters = filtersArray;

      背反效果:
     


      AS代码:
var matrix:Array = new Array();
matrix = matrix.concat([0, -1, 0]);
matrix = matrix.concat([-1, 4, -1]);
matrix = matrix.concat([0, -1, 0]);
var convolution:ConvolutionFilter = new ConvolutionFilter();
convolution.matrixX = 3;
convolution.matrixY = 3;
convolution.matrix = matrix;
convolution.divisor = 1;
var filtersArray:Array = new Array(convolution);
tt.filters = filtersArray;

      光亮效果:
     


      AS代码:
var matrix:Array = new Array();
matrix = matrix.concat([5, 5, 5]);
matrix = matrix.concat([5, 0, 5]);
matrix = matrix.concat([5, 5, 5]);
var convolution:ConvolutionFilter = new ConvolutionFilter();
convolution.matrixX = 3;
convolution.matrixY = 3;
convolution.matrix = matrix;
convolution.divisor = 30;
var filtersArray:Array = new Array(convolution);
tt.filters = filtersArray;

      (9)置换图滤镜(DisplacementMapFilter)
      置换图滤镜使用BitmapData对象(称为置换图图像)中的像素值在新对象上执行置换效果。通常,置换图图像与将要应用滤镜的实际显示对象不同。置换效果包括置换过滤的图像中的像素,也就是说,将这些像素移开原始位置一定距离。此滤镜可用于产生移位、扭曲或斑点效果。
      由于这个滤镜本身比较复杂,要比较好的表现效果,又需要两幅特定的图,本人懒,就简单的做一个平移效果吧。
     


      AS代码:
var mapImage:BitmapData = new BitmapData(tt.width, tt.height, false, 0xFF0000);
var displacementMap = new DisplacementMapFilter();
displacementMap.mapBitmap = mapImage;
displacementMap.mapPoint = new Point(0, 0);
displacementMap.componentX = BitmapDataChannel.RED;
displacementMap.scaleX = 250;
var filtersArray:Array = new Array(displacementMap);
tt.filters = filtersArray;

      滤镜这章到此就结束了,整个显示编程也告一段落。但其实Flash里的显示编程,内容很广,包括我下章第一篇的文本,也是显示编程的一部分。不过,我还是按照常用理解的习惯,归纳到元素这一块去了。
本文出自 “寂寞风之谷” 博客,请务必保留此出处http://windtoto.blog.51cto.com/1986737/405985
  • 大小: 23.2 KB
  • 大小: 22.8 KB
  • 大小: 31.3 KB
  • 大小: 30.1 KB
  • 大小: 25 KB
  • 大小: 24.6 KB
  • 大小: 26.8 KB
分享到:
评论

相关推荐

    AS3.0_拉普拉斯模板_查找边缘

    在AS3.0中,我们可以利用滤镜来实现这一过程。 首先,让我们了解一下AS3.0的基础。ActionScript 3.0是Adobe Flash Platform的主要编程语言,用于创建交互式内容,如网页游戏、应用程序和动画。在AS3.0中,我们可以...

    FLASHAS3.0官网教程实例(上)

    1. **FilterWorkbench**:这是一个关于滤镜和效果的实践平台,展示了如何在AS3.0中应用图形过滤器,如模糊、锐化、颜色调整等,让开发者能够创造出丰富的视觉效果。 2. **FileIO**:实例重点在于文件I/O操作,通过...

    AS3.0 算法大全

    AS3.0 算法大全是一份集合了多种Flash ActionScript 3.0中常见算法的教程...这些原则不仅适用于AS3.0编程,也适用于整个计算机科学领域。通过不断地学习和实践,开发者能够不断提升自己的编程水平,解决更复杂的问题。

    as3.0图片切换随机效果(10种)

    AS3.0(ActionScript 3.0)是Adobe Flash Professional和Flex Builder等工具中使用的编程语言,用于创建交互式内容。以下是10种不同的图片切换随机效果,以及如何在AS3.0中实现它们的基本概念。 1. **淡入淡出**:...

    flash as3.0 图片随机过渡效果

    在本文中,我们将深入探讨如何在Flash AS3.0中实现图片的随机过渡效果。这一技术主要用于提升用户体验,为数字媒体展示、网页设计或者互动应用增添动态视觉效果。以下是关于这个主题的一些关键知识点: 1. **AS3.0...

    AS3.0 Flash 水波纹 flash特效

    ActionScript 3.0(AS3.0)是Adobe Flash开发中一个重要的编程语言版本,它提供了更高效、更面向对象的编程环境,使得创建动态和交互性的内容变得更加容易。水波纹特效是一种视觉上引人入胜的效果,常用于模拟水面...

    flash as3.0模拟排雾

    AS3.0中的`ColorMatrixFilter`滤镜可以用来改变舞台上的颜色矩阵,从而实现雾的视觉效果。 创建雾的步骤可能包括以下几点: 1. **设置舞台背景**:选择一种能体现雾天氛围的颜色作为背景,例如淡灰色或淡蓝色,并...

    as3.0做特效

    使用AS3.0的滤镜、扭曲和矩阵变换功能,可以实现图像之间的复杂转换,创造出令人印象深刻的视觉效果。 7. **镜头模糊2和镜头模糊**: 镜头模糊效果模拟了摄影中景深的概念,可以使焦点区域清晰,而其他区域模糊。AS...

    ActionScript3.0游戏互动编程源文件

    ActionScript3.0(简称AS3)是Adobe Flash平台的核心编程语言,用于创建富媒体内容、交互式应用程序和游戏。这个压缩包包含了多个章节的源文件,覆盖了ActionScript3.0游戏互动编程的关键知识点。以下是对每个章节的...

    AS3.0粒子效果实例

    在Adobe Flash平台上,使用ActionScript 3.0(简称AS3.0)进行编程是一种常见且高效的方式,尤其对于创建复杂的动画效果而言。本示例旨在通过一系列步骤指导读者学会如何运用AS3.0来实现粒子效果,即一种模拟自然...

    AS3.0+cs4+fp10最新中文帮助+.chm

    通过这个`.chm`文件,学习者可以系统地掌握AS3.0编程,了解CS4中Flash Professional的工作流程,并充分利用FP10的新功能来提升内容的表现力和用户体验。同时,中文版的文档对于中文用户来说,无疑是理解和应用这些...

    [Flash as3.0动画教程]文字版

    ### Flash AS3.0动画教程知识点汇总 #### 一、ActionScript动画基础 **1.1 什么是动画** - **定义**: 动画是通过连续播放一系列图像来产生视觉效果的技术,使静止的图像看起来像在移动或发生变化。 - **原理**: ...

    as3.0 cookbook 完整版

    ### ActionScript 3.0 Cookbook知识点...以上是对《as3.0 cookbook》一书中部分章节内容的知识点总结。通过学习这些知识点,开发者可以更好地掌握AS3的各项功能和技术细节,从而开发出高质量的交互式内容和应用程序。

    flash钢琴动画源程序 flash cs4+as3.0

    标题中的“flash钢琴动画源...通过分析这个项目,不仅可以提升Flash动画制作技能,还能深入理解AS3.0编程,以及交互式Web内容的设计与实现。对于想要从事互动媒体设计或游戏开发的初学者来说,这是一个很好的实践案例。

    Flash CS3 AS3声音视频高级编程(Part1--Part15).zip

    《Flash CS3 AS3声音视频高级编程》是针对Adobe Flash CS3版本中ActionScript 3.0(简称AS3)的音频和视频处理技术进行深入探讨的教程。本教程分为十五个部分,从基础概念到高级应用,全面覆盖了AS3在声音与视频领域...

    Flash_ActionScript3.0_samples

    示例中会有创建自定义类、实现接口、使用类的构造函数等实践,帮助开发者理解AS3.0中的OOP机制。 四、事件处理与交互 Flash的强项在于用户交互,AS3.0中的事件模型是其核心之一。示例中会演示如何监听和处理各种...

    AS3.0 初学者特效制作

    在这个主题中,我们将深入探讨AS3.0特效制作的几个关键知识点: 1. **坐标系统(coordinate)**:在AS3中,坐标系统是基于二维平面的,(0,0)位于舞台的左上角。理解坐标系统对于定位和移动对象至关重要,尤其是在...

Global site tag (gtag.js) - Google Analytics