2012-01-04 3 views
0

Я с помощью ПБП файлов Pixel Bender (как рекомендуется с Flex4), чтобы изменить яркость/контраст image.So я применить фильтры к изображению, как это:Фильтры изображений/ByteArray

image.filters = myBitmapFilter ;

Теперь моя проблема: Как получить байтовый массив изображения с примененным фильтром, чтобы я мог отправить bytearray в свой сервлет, который может сохранить изображение с помощью примененных эффектов. Просьба представить предложения.

ответ

0

Я вижу два варианта. Во-первых, получите bitMapData. Вы должны быть в состоянии получить это:

var myBitMapData : BitMapData = image.bitMapData 

Если не так, вы можете использовать imageDisplay skin Part, который является BitMapImage?

var myBitMapData : BitMapData = image.imageDisplay.bitMapData 

[Caveat; Я не уверен, будут ли фильтры применяться в любой ситуации].

После того, как вы есть, что BitmapData, вы можете получить ByteArray, используя getPixels метод:

var myByteArray : ByteArray = myBitMapData.getPixels(new Rectangle(0,0,image.width,image.height)); 
+1

Спасибо, за help..The выше упомянутого кода для выборки массива байтов работали абсолютно fine.To получить BitmapData и сохраняя все фильтры, я использую bitmapData.draw (изображение) –

+0

Рад это слышать. Если вы считаете, что это полностью отвечает на ваш вопрос, выберите его как таковой. – JeffryHouser