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

Flash 如何将位图文件加载到BitmapData对象中?,flash,actionscript,bitmap,drawing,bitmapdata,Flash,Actionscript,Bitmap,Drawing,Bitmapdata,在Flash中,该对象可用于将位图存储在RAM中,稍后可以使用该方法将其绘制到MovieClip 如何将外部位图文件(.jpg)加载到BitmapData对象中 即使是AS3代码也会有帮助。您必须将外部文件(.jpg)加载到MovieClip中,然后等待加载 然后将包含外部文件的MovieClip的快照拍摄到BitmapData对象中 myBitmap = new BitmapData(myMC._width, myMC._height,true,0x00FFFFFF) myBitmap.dr

在Flash中,该对象可用于将位图存储在RAM中,稍后可以使用该方法将其绘制到MovieClip

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


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

您必须将外部文件(.jpg)加载到MovieClip中,然后等待加载

然后将包含外部文件的MovieClip的快照拍摄到BitmapData对象中

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

myBitmap.draw( myMC)


请参见AS3代码以加载PNG并“获取”其位图数据

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;
}
GUI阶段:
将图像加载到库中(文件->导入->库)。
在库浏览器中,右键单击并点击“属性”,注意它是X X X Y像素。
打开“高级”选项卡。
选择“导出操作脚本”。作为myImg导出

Actionscript阶段:

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

指的是科顿写的第一篇文章

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

bitmapData = event.target.content.bitmapData  
而不是

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

从cotton和will中提取,加载后将显示位图:

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);
}

我真的不明白你为什么选择自己的答案而不是Cotton的,因为我想要一个AS2解决方案。棉花是AS3,只是一张纸条。您不能将URLLoader用于其他注释。加载器向位图添加一些信息,因此尝试直接从
事件.target.content
更改一些属性,如
名称
。但是由于OP创建一个新位图是好的。不,
LoaderInfo.content
是一个DisplayObject。所有位图都是DisplayObject,但并非所有DisplayObject都是位图,因此强制转换。通过删除强制转换,您可以绕过ActionScript语言的类型安全功能。