Превращение ImageSnapshot в изображение в Flex - PullRequest
3 голосов
/ 07 мая 2009

Используя Flex 3, я хотел бы сделать снимок изображения, подобный этому:

var logoSnapshot:ImageSnapshot = ImageSnapshot.captureImage(logoContainer);

и превратите его в то, что может использовать класс Image. Я вижу, что есть свойство под названием «data», которое содержит byteArray, поэтому я предполагаю, что мой вопрос таков: как мне взять изображение, которое сохраняется как byteArray, и преобразовать его в то, что класс Image может использовать для отображения?

Ответы [ 4 ]

2 голосов
/ 07 мая 2009

Упрощенная реализация, которая должна работать:

var bm : Bitmap = new Bitmap(ImageSnapshot.captureBitmapData(logoContainer));

Установите "bm" в качестве источника вашего объекта Image.

0 голосов
/ 07 мая 2009

На самом деле вы можете просто установить ByteArray непосредственно как исходное свойство класса Image в текущем Flex SDK.

0 голосов
/ 07 мая 2009

Требуется несколько шагов, но это не сложно.

  1. Нарисуйте свой ByteArray в экземпляр BitmapData, используя setPixels().

  2. Создайте новый экземпляр BitmapAsset и передайте свои BitmapData.

  3. Передайте BitmapAsset в свойство source элемента управления Image.

Предполагается, что ваш ByteArray совместим с setPixels(). Согласно документам, это должен быть набор беззнаковых целых, представляющих 32-битные значения ARGB. Если ByteArray содержит изображение в другом формате, вам придется искать другой путь. Если вам повезет, он будет закодирован как JPG, PNG или GIF, и вы сможете напрямую передать ByteArray на source на изображении, и Flash Player уже будет знать, как его интерпретировать. 1025 *

0 голосов
/ 07 мая 2009

Класс BitmapData имеет:

public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

Установите прямоугольник равным размеру вашего изображения, а затем отправьте в byteArray.

После этого вы сможете нарисовать BitmapData на вашем экране.

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