ActionScript图形之滤镜

2024-02-13 06:38
文章标签 图形 actionscript 滤镜

本文主要是介绍ActionScript图形之滤镜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ActionScript图形之滤镜

2011-03-10 11:24:31| 分类: flex | 标签:actionscript图形之滤镜 |字号 订阅

什么是滤镜?

滤镜主要是用来实现图像的各种特殊效果。如:钝化,斜角边缘,发光,扭曲图像...

flash.filters包提供如下滤镜:

BlurFilter
模糊滤镜的属性:
blurX:在X方向上模糊的像素数量。默认是4
blurY:在Y方向上模糊的像素数量。默认是4
quality:执行模糊处理的次数。范围0-15,默认是1。

DropShadowFilter
投影滤镜
属性:
blurX,blurY,quality
distance:从显示对象到阴影的偏移像素数量。默认是4
angle:光源角度。默认是45度
color:阴影的颜色。默认是0x000000
alpha:阴影的alpha值,0-1。默认是1,不透视。
strength:阴影的长度,0-255。默认是1
inner:阴影是否应该应用到对象内部。默认是false
knockout:原始内容是否应该透明显示。默认是false
hideObject:是否隐藏原始内容。默认是false

BevelFilter
斜角滤镜

GlowFilter
发光滤镜

GradientBevelFilter
渐进斜角滤镜

GradientGlowFilter
渐进发光滤镜

ColorMatrixFilter
ConvolutionFilter
DisplacementMapFilter
转换滤镜--扭曲

例子:

package {
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.DropShadowFilter;
import flash.text.TextField;
public class TestFilter extends Sprite
{
private var testTxt:TextField;
private var btn:SimpleButton;//按钮
private var txt:TextField;//按钮上的文字
private var ds:DropShadowFilter;
public function TestFilter()
{
testTxt = new TextField();
ds = new DropShadowFilter();//投影滤镜
//ds.distance = 100;//比较效果
testTxt.filters = [ds];
ds.distance = 100;//不起作用,必须在前面修改
testTxt.text = "Test DropShadowFilter";
testTxt.width = 200;
testTxt.x = 10;
testTxt.y = 60;
this.addChild(testTxt);

var d:Sprite = new Sprite();
d.graphics.beginFill(0x00ff00,1);
d.graphics.drawRect(400,60,30,30);
d.graphics.endFill();
btn = new SimpleButton(d, d, d, d);
txt = new TextField();
txt.text = "变化";
txt.x = 400;
txt.y = 60;
this.addChild(btn);
this.addChild(txt);
txt.addEventListener(MouseEvent.CLICK, onTxtClick);
}
private function onTxtClick(evt:MouseEvent):void
{
var dis:int = DropShadowFilter(testTxt.filters[0]).distance;
if(dis == 100)
{
ds = new DropShadowFilter();
ds.distance = 4;
testTxt.filters = [ds];
}
else
{
ds = new DropShadowFilter();
ds.distance = 100;
testTxt.filters = [ds];
}
}
}
}

注意:
1.滤镜应用到某个对象后,就不能修改滤镜的属性。
2.修改对象的滤镜,必须创建一个新的滤镜,并将它应用到该对象上。

添加多个滤镜
xxx.filters = [ds1, ds2, ds2];

旋转对象
1.尝试对TextField对象旋转(ratation属性)。失败
2.将TextField转换为位图,然后再旋转。
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class TestRotation extends Sprite
{
private var testTxt:TextField;
private var btn:SimpleButton;//按钮
private var txt:TextField;//按钮上的文字
private var bmpData:BitmapData;
private var bmp:Bitmap;
private var newsprite:Sprite;
public function TestRotation()
{
testTxt = new TextField();
testTxt.text = "Test Ratation";
//picture
bmpData = new BitmapData(testTxt.width, testTxt.height);
bmpData.draw(testTxt);
bmp = new Bitmap(bmpData);
newsprite = new Sprite();
newsprite.x = 200;
newsprite.y = 150;
this.addChild(testTxt);
this.addChild(newsprite);
newsprite.addChild(bmp);

var d:Sprite = new Sprite();
d.graphics.beginFill(0x00ff00,1);
d.graphics.drawRect(400,60,30,30);
d.graphics.endFill();
btn = new SimpleButton(d, d, d, d);
txt = new TextField();
txt.text = "变化";
txt.x = 400;
txt.y = 60;

this.addChild(btn);
this.addChild(txt);
txt.addEventListener(MouseEvent.CLICK, onTxtClick);
}
private function onTxtClick(evt:MouseEvent):void
{
trace("click...");
newsprite.rotation += 90;
}
}
}

这篇关于ActionScript图形之滤镜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704759

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

第六章习题11.输出以下图形

🌏个人博客:尹蓝锐的博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~ 1、题目要求: 输出以下图形

一个图形引擎的画面风格是由那些因素(技术)决定的?

可能很多人第一直覺會認為shader決定了視覺風格,但我認為可以從多個方面去考慮。 1. 幾何模型 一個畫面由多個成分組成,最基本的應該是其結構,在圖形學中通常稱為幾何模型。 一些引擎,如Quake/UE,有比較強的Brush建模功能(或應稱作CSG),製作建築比較方便。而CE則有較強的大型地表、植被、水體等功能,做室外自然環境十分出色。而另一些遊戲類型專用的引擎,例

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

快速搞定“照片调色”!50000+Lr预设滤镜模板,一键让你照片不再丑!

照片调色不仅仅是调整颜色,更是一种艺术表达。通过巧妙地运用 LR 预设,可以突出照片的主题,增强情感共鸣。比如,在风景照片中,使用特定的预设可以让天空更蓝、草地更绿,让大自然的美丽更加生动地展现出来。 在人像摄影中,合适的 LR 预设可以让肤色更加自然、眼神更加明亮,让人物更加迷人。而且,LR 预设还可以根据不同的风格和场景进行定制,满足各种个性化的需求。如果你对照片调色还不是

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

Android shape 图形

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!-- "oval","rectangle", "line","ring" 形状--><!-- 圆角 --><cornersandroid

QGraphicsView、QGraphicsScene和QGraphicsItem图形视图框架(二)疑难杂症

疑难杂症1 1.问题: 设置场景的背景图片时,采用setBackgroundBrush()方法和重写drawBackground()函数得到的结果很不一样,而且通过setSceneRect设置场景原点位置之后得到的结果也有很大区别。 如下图 第一个和第三个中重写了QGraphicsScene的drawBackground()函数,区别在于第一个的场景原点在左上角,第三个的原点在中心。

图形API学习工程(0):工程目的环境配置

工程目的 我想要不借助引擎,而直接使用底层图形API(如DirectX和OpenGL等)来生成图像。 我认为这将有利于图形学算法与渲染框架相关的学习,因为: 游戏引擎往往对渲染进行了豪华的封装,而不利于看到图形学算法本质。UE4虽然开放了源代码,但是想要完全掌握渲染方面的代码也需要较高成本。 另外,我想对不止一个主流API进行封装,而是多个图形API进行封装,包括: OpenGLD3D1

图形API学习工程(12):讨论当前工程里同步CPU与GPU的方式

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 简单讨论CPU和GPU间的交互 《DX12龙书》在【4.2 CPU与GPU间的交互】章节中讨论了这个问题,简单来说: 为了最佳性能,CPU和GPU这两种处理器应该尽量同时工作,少“同步”。因为“同步”意味着一种处理器以空闲状态等待另一种处理器,即它破坏了“并行”。 但有时,又不得不进行二者的同步