Как загрузить растровый файл в объект BitmapData?

во вспышке,BitmapData объект может использоваться для хранения растровых изображений в ОЗУ, вы можете позже нарисовать их в MovieClip с помощью beginBitmapFill() метод.

Как загрузить внешний файл изображения (.jpg) в объект BitmapData?

даже код AS3 был бы полезен.

5 ответов


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

ссылка на первый пост хлопком.

на самом деле каждое изображение является растровым, так что все, что вам нужно сделать, это

bitmapData = event.target.content.bitmapData  

вместо

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

принимая из хлопка и будет, это отобразит растровое изображение после его загрузки:

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

вы должны загрузить внешний файл (.jpg) в MovieClip и дождитесь его загрузки.

затем сделайте снимок MovieClip, который содержит внешний файл, в объект BitmapData.

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

myBitmap.draw( myMC)

посмотреть представляем API изображений во Flash 8.


GUI фаза:
Загрузить изображение в библиотеку (файл -> импорт -> библиотека).
В браузере библиотеки, щелкните правой кнопкой мыши и нажмите "Свойства", заметьте, что X на y пикселей.
Откройте вкладку "Дополнительно".
Выберите "export for Action Script". Экспорт в myImg

фаза Actionscript:

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