如何将位图文件加载到BitmapData对象中?

时间:2009-03-31 17:32:32

标签: flash actionscript bitmap drawing bitmapdata

在Flash中,BitmapData对象可用于在RAM中存储位图,稍后您可以使用beginBitmapFill()方法将它们绘制到MovieClip。

如何将外部位图文件(.jpg)加载到BitmapData对象中?

即使是AS3代码也会有所帮助。

5 个答案:

答案 0 :(得分:42)

AS3代码加载PNG并“获取”其bitmapData

var bitmapData:BitmapData;

var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    loader.load(new URLRequest("../lib/img.png"));

function onComplete (event:Event):void
{
    bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
}

答案 1 :(得分:9)

参考棉花的第一篇文章。

实际上每个图像都是一个位图,所以你需要做的就是

bitmapData = event.target.content.bitmapData  

而不是

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;

答案 2 :(得分:6)

从棉花中取出,这将在加载后显示位图:

import flash.display.Bitmap;
import flash.display.BitmapData;

var bitmapData:BitmapData;
var bmVis:Bitmap;

var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    loader.load(new URLRequest("put url here"));

function onComplete (event:Event):void
{
    trace("loaded!");
    bitmapData = event.target.content.bitmapData;
    bmVis = new Bitmap(bitmapData);
    this.addChild(bmVis);
}

答案 3 :(得分:5)

您必须将外部文件(.jpg)加载到MovieClip中并等待它加载。

然后将包含外部文件的MovieClip快照放入BitmapData对象中。

myBitmap = new BitmapData(myMC._width, myMC._height,true,0x00FFFFFF)

myBitmap.draw( myMC)

请参阅Introducing the Image API in Flash 8.

答案 4 :(得分:1)

GUI阶段:
将图像加载到库中(文件 - >导入 - >库) 在库浏览器中,右键单击并单击“属性”,注意它是X乘Y像素 打开“高级”标签。
选择“导出动作脚本”。导出为myImg

Actionscript阶段:

import flash.display.BitmapData;
import flash.display.Bitmap; //needed?
..........
var myPic:BitmapData = new myImg(X,Y);