Преобразовать и String (путь изображения) в объект Bitmap - PullRequest
0 голосов
/ 06 января 2011

Решение должно быть прямым, но я не могу его найти, моя проблема в том, что я читаю xml, и одно из свойств внутри xml - это растровый путь (строка), когда я читаю этот xml хотел бы преобразовать эту строку в объект Bitmap Obj, чтобы я мог использовать его через MXML.

Некоторые предложения?!

Ответы [ 4 ]

2 голосов
/ 06 января 2011

если вам нужны растровые данные или растровое изображение, попробуйте это:

import flash.display.*;
import flash.events.*;
import flash.net.*;

var bitmapPath:String = "imageFilePath";
var myBitmap:Bitmap;
var bitmapLoader:Loader;

bitmapLoader = new Loader();
bitmapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, addBitmap);
bitmapLoader.load(new URLRequest(bitmapPath));

function addBitmap(event:Event):void
{
    var bd:BitmapData = new BitmapData(event.currentTarget.content.width, event.currentTarget.content.height);
    bd.draw(event.currentTarget.content);

    myBitmap = new Bitmap(bd);
    addChild(myBitmap);
};
2 голосов
/ 06 января 2011

Я бы загрузил bitmapData, как написано в их ответе коде сердца.

Но чтобы получить BitmapData в загруженной функции, я бы сделал это

var ldr:Loader = event.currentTarget as Loader;    
var bitmap:Bitmap = Bitmap(ldr.content);
var bd:BitmapData = new Bitmap(bitmap.bitmapData.clone(), "auto", true);
ldr.removeEventListener(Event.COMPLETE, addBitmap);
ldr = null; //Allow flex to gc the Loaded as you now have two copies of the bytes in memory

Я думаю, используя метод drawЗагрузчик должен быть на сцене, чтобы его можно было визуализировать.Это позволит избежать этого.Вы можете назначить bd в качестве источника BitmapImage

1 голос
/ 06 января 2011

Если вы используете MXML, вы должны просто передать строку непосредственно в атрибут «source» тега. Flex отвлекает всю загрузочную информацию.

0 голосов
/ 10 января 2011

Я разместил некоторый код, который может помочь для аналогичного вопроса, который был задан некоторое время назад.Он примет содержимое XML и предварительно загрузит изображения в коллекцию ArrayCollection для последующего использования.

Встраивание изображений в приложение Flex

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...