论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

Flash as2中BitmapData类的应用

文章类别:Flash AS | 发表日期:2009-8-8 10:59:01

Flash as2中BitmapData类的应用

BitmapData类可以直接处理位图,比如把一张位图转换成由无数细线构成的画,或者可以得知位图中一个点的RGB,甚至能做出面部识别器(我做过这个,利用人的头发识别脸的位置!)。
首先BitmapData类的构造方法:

1.
import flash.display.BitmapData;

var X:BitmapData = new BitmapData(A, B,C,D);

以上代码可以新建一个BitmapData类并设定宽、高、是否透明、背景色

X代表BitmapData类的名称
A 代表宽(数字)
B 代表高(数字)
C 代表是否可以显示透明位图(true/false布尔值)
D 代表背景色(0xXXXXXX是0x红红绿绿蓝蓝,如果C是true,就可以写为0xXXXXXXXX,就是0x红红绿绿蓝蓝ALPHA,注意是“零爱克斯XXXXXX”,不是“零哦XXXXXX”)

2.
import flash.display.BitmapData;

var X:BitmapData =BitmapData.loadBitmap("A")

以上代码可以新建一个BitmapData类并让它的宽和高等于一张图片的宽高并导入那张图片到这个类里(类的背景色默认为黑色0x000000)。

X代表BitmapData类的名称
A代表图片在库中的链接


如果BitmapData类是一个箱子,那么这个箱子里只能装照片(位图),而且这个箱子是隐藏的!要让它显示,一定要把它加载到影片剪辑里。

如:

import flash.display.BitmapData;

var
Bit:BitmapData =BitmapData.loadBitmap("PictureX");

var mc:MovieClip = this.createEmptyMovieClip("mc",0);

mc.attachBitmap(Bit);

以上代码将让mc这个剪辑里出现位图PictureX。

以上是最基本的知识。

若要知道一张位图中任意一个点的RGB,可以用X.getPixel(A,B)
X代表类的名字
A代表点的X
B代表点的Y
如: import flash.display.BitmapData;

var
Bit:BitmapData =BitmapData.loadBitmap("PictureX");

var mc:MovieClip = this.createEmptyMovieClip("mc",0);

mc.attachBitmap(Bit);

trace(Bit.getPixel(10,20));
这样会输出一串10进制数字,可你一定会说“我要的是RGB值!”没关系,我们来把它转换成RGB
RGB是一串16进制数字与英文字母的结合,如“0x3AB77F”, RGB的“0x”后的前两位是红色,中间两位是绿,剩下的两位是蓝。
常用的RGB:
0x000000 黑
0x00ff00
绿
0xffffff

0xff0000

0x0000ff

0xA0E2BC 一种舒服的绿色

刚才看到的10进制数字是RGB转换成10进制的数字。只要用toString()函数就可以解决转换问题
16进制=10进制.toString(16);
10进制=16进制.toString(10);
运用到RGB是同样的道理:

import flash.display.BitmapData;

var
Bit:BitmapData =BitmapData.loadBitmap("PictureX");

var mc:MovieClip = this.createEmptyMovieClip("mc",0);

mc.attachBitmap(Bit);

trace(“0x”+Bit.getPixel(10,20).toString(16));
这样就可以输出RGB了。


 
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058