bitmapdata类是什么
flash.display.bitmapdata允许我们使用像素层级来控制位图,这意味着什么呢,好,在下面的简介中我们将简介它能做什么。
·复制和粘贴整个图像,部分图案。或者是每一个独立的像素。
·鉴别或是改变像素或是像素群组的颜色。
·应用新的flash滤镜。
·创建随机的像素(noise或perlin noise)等等。
它还可以将bitmapdate应用到视频上。
创建bitmapdata 类的实例
我们用如下的方法创建bitmapdata实例
bmap=new flash.display.bitmapdata(100,100,false,0);
bitmapdata类提供了四个参数
width(number数值,像素宽)
height(number数值,像素高)
alpah值(boolean布尔值)
default background color fill(默认添充的背景色)(number数值)
因此从上面代码,我们可以看出我创建了一个100*100方形,不允许alpha透明,指定0为背景色,也就是黑色。
注意:到目前为,我不能确定是否alpha值只与bmd的背景alpha相关连,或是它是否只是允许图像中的像素透明。
copy & paste
复制和粘贴
也许最好的例子就是从最基础的复制和粘贴操作开始。想象一下通过bmd从图像上来复制和粘贴像素。例如,在flashmx2004或是更早的版本中,载入图像到movieclip中然后在movieclip中复制来查看所复制的图像是不可能的。因为任何载入的图像都必须重新加载,如果你想看更多的复制内容。
我们当然也可以在创作时手动的导入图片,也许这是最简单方法,我们将在第一例子中使用这种方。
下载第一个范例文件sample fla(bmap.zip),在你继续进行之前,先快速的看一下这个文件。
这里面有三个对象是关于”复制和粘贴”的.
1.源图像(source)
2.创建的bitmapdata实例(bmap)
3.目标movieclip(dest2)
对于目标movieclip的创建我们可以选择两种方式
1.手动创建一个movieclip,本例中设置的长宽分别为100.
2.以使用createemptymovieclip();来创建。
在我们的第一个例子中,我们使用的方法是第一种,在创作时创建一个movieclip.
example 1:
范例1
我们已经放置了两个movieclip在主场景中。
第一个movieclip中包含一个图片,大小是100*100像素,实例名称为source.第二个movieclip包含一个橙色的图形,大小也是100*100像素,这个mc的实例名为dest2.
为了复制整张图像,我们可以如下来做:
代码:
第一行我们创建了bmd的实际,名为bmp并且它的大小与我们图像的大小是一致的。第二行,在bmd上复制图像,你可以用下例语法将一个movieclip放在bmd中。
somebmdinstance.draw(somemovieclip);
最后我们想看到在bmd上的复制结果,当前你并不能看到结果直到你将它贴加到一个movieclip上为止。如下语法:
代码:
注意:attachbitmap实际上有4个参数,全部参数如下:
attachbitmap(bmp:bitmapdata, depth:number, pixelsnapping:string, smoothing:boolean)
前两个参数一个是bitmapdata类的引用名,一个是深度。
第三个参数pixelsnapping(像素对齐)有三种选择,
auto:当位图没有进行变形或是旋转来进行像素对齐。
always:不管位图是否进行过变形或是旋转都要进行像素对齐。
never:从不进行像素对齐。
默认下为auto.
第四个参数:smoothing(光滑):它是布尔值,用来决定是否对缩放过的图像进行光滑。
在本例中我们只需要用到前两个参数。在你测试运行的时候,你就会发现源图像已经被复制到目标mc中了。
那么,现在我们回到开始我们说过的使用创作时手动创建或是使用createemptymovieclip()创建的movieclip。当我们将bmd的实例粘贴到我们创建的mc中时,我们会想到一些问题,比如,如果bmd实例大于source影片剪辑,或是目标mc(dest2)小于bmd实例等等会发生什么呢。
下面我们将用几张图片的形式来说明问题:
需要注意的是,图片下面说明文字中的source源和dest2目标mc不是指的是影片剪辑本身而指是影片剪辑内的内容,如果要指定影片剪辑会加说明。
souce源里面的内容:100*100px(影片剪辑本身未缩放);
dest2目标剪辑的内容:100*100px(影片剪辑本身未缩放)
bmd实例:(这里面的大小是指创建时指定的大小,看代码)100*100px.
出处:webstudio
责任编辑:moby
上一页 下一页 flash 8 bitmapdata 类的应用 [2]
◎进入论坛flash专栏版块参加讨论
| ||
| [asp]使用类,实现模块化 flash 8 swf metadate应用 actionscript 3.0 的最新消息 swf 文件安全策略修改器 fireworks 8 启动语言选择插件 |
| ||
| as3.0概要–了解as3.0的改变 flash 8 swf metadate应用 flash 8 安装remoting解决方法 cool blur effect-模糊效果 flash 8 少为人知的特性 |
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
| |
|
>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器