Flex - получить растровое изображение - PullRequest
1 голос
/ 19 января 2010

Можно ли получить растровые данные из компонента с помощью ActionScript?

Я динамически загружаю изображение. При завершении я создаю компонент Flex Image и добавляю загруженное изображение в источник

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void 
{
     var image:Image = new Image();
     image.x = 0;
     image.y = 0;
     image.source = e.currentTarget.content;
     canvas.addChild(image); // canvas is already added as an MXML element.
 }

Позже я хочу создать новый компонент Image и получить bitmapData из первого изображения.

Я пробовал это

canvas.getChildAt(0)

Что, похоже, дает мне изображение, но я не могу понять, как получить растровые данные.

canvas.getChildAt(0).bitmapData; 

выдает ошибку компиляции "... undefined property"

Кто-нибудь знает, как получить растровые данные, чтобы я мог использовать их в своем новом компоненте изображения?

Заранее спасибо,

Ran

Ответы [ 3 ]

2 голосов
/ 19 января 2010

Ответ Клиффа даст вам скриншот Image; чтобы получить базовые данные BitmapData для изображения без скриншота, вы можете попробовать

 Bitmap(image.content).bitmapData

Также следует избегать фильтров.

2 голосов
/ 19 января 2010

Проверьте ImageSnapshot.captureBitmapData ()

http://livedocs.adobe.com/flex/3/langref/mx/graphics/ImageSnapshot.html

0 голосов
/ 19 января 2010

Это должно сделать это.

var bd:BitmapData = new BitmapData(myComponent.width, myComponent.height, true, 0);
bd.draw(myComponent);
...