当前位置:首页>>平面设计教程>>Flash教程>>正文

Flash8轻松获取位图颜色代码实例教程

文章出处: 作者: 发布时间:2007-05-09 收藏到QQ书签

  Macromedia Flash8 Image API 描述了一个的新的actionscirpt class类BitmapData 以及与其相关的各式各样的方法所带来的新的特性。这些新的方法使flash开发人员通过Actionscript在运行时创建并操作32位图像。这些Image Api非常类似于macromedia的产品Director中的lingo api.然而在flash8 的image api更细致准备,有更强的功能。在这篇文章中,我们将来研究如何开始使用Image Api并讨论它的一些能力。

  在Actionscript 中使用Bitmaps

  新的BitmapData 类用来描述在内存中的bitmap对象,当你创建一个新的类实例时,一个空的图像就已经保存在内存中了,你可以使用BitmapData类所提供的各种方法来操作这个原始的bitmap.在你开始应用BitmapData类之前,你需要先了解一个关于bitmaps的前前后后。

  Bitmap是一个数字格式图形,它使用色彩数据网格来描述一张图像,在网格中的每一个单元格代表一个像素,每一个像素是都是由指定的色值渲染成的一个图像。Bitmap在flash player中被保存成32位色彩深度。这意味着每一个被指定了色彩的像素都是以二进制数保存,它的长度为32bit.在32位图像中的一个像素的颜色它可能只是16.7万色中的一种。每一种颜色又是由四种颜色通道如红,绿,蓝和alpha通道组成。

  这个教程利用BitmapData类来获取位图的颜色代码,至于该类如何使用,请大家参考其他相关教程。

  最终效果如下:

点击这里下载源文件

  首先准备一幅图片,然后调整Flash文档的属性使高和宽符合,然后导入到库中,双击修改图片的属性。

Flash8轻松获取位图颜色代码实例教程

  然后新建立一个影片剪辑元件sample,绘制一个黑色矩形。

Flash8轻松获取位图颜色代码实例教程

  再新建立一个影片元件colorinfo,把上面的影片元件拖拽过来,给个实例名。

Flash8轻松获取位图颜色代码实例教程

  然后建立动态文本框。

Flash8轻松获取位图颜色代码实例教程

  把colorinfo电影元件放到场景的右下角,命名实例名selectedcolor,然后新建立一个图层。

Flash8轻松获取位图颜色代码实例教程

  输入下面代码。

import flash.display.BitmapData;//import bitmaoData类

linkageId = "landscape";//和图片的标示符建立联系
myBitmapData = BitmapData.loadBitmap(linkageId);

mc = this.createEmptyMovieClip("mc", 1);
mc.attachBitmap(myBitmapData, 1);

onMouseMove = function(){
 myNewColor = "0x" + myBitmapData.getPixel(_xmouse,_ymouse).toString(16);
 newColor.setRGB(myNewColor);
 selectedColor.colorValue.text = myNewColor; 
}
selectedColor.swapDepths(_root.getNextHighestDepth());
newColor = new Color(selectedColor.sample);


Google