16

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

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

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

4

5 回答 5

42

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

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;
}
于 2009-04-01T06:08:22.787 回答
9

参考棉花的第一个帖子。

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

bitmapData = event.target.content.bitmapData  

代替

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
于 2011-08-17T15:00:02.120 回答
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);
}
于 2012-02-06T08:19:17.580 回答
5

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

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

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

myBitmap.draw( myMC)

请参阅Flash 8 中的图像 API 简介。

于 2009-03-31T17:34:07.000 回答
1

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

动作脚本阶段:

import flash.display.BitmapData;
import flash.display.Bitmap; //needed?
..........
var myPic:BitmapData = new myImg(X,Y);
于 2009-11-08T20:00:13.060 回答