Преобразование мувиклипа в ByteArray - PullRequest
4 голосов
/ 25 мая 2011

Мне нужно преобразовать MovieClip в ByteArray и отправить его в php, используя метод POST.Человек, работающий с php, говорит, что нужно отправлять только ByteArray, и преобразование в JPG и PNG может быть сделано со стороны PHP.Когда я создал опцию сохранения на локальном компьютере, были использованы следующие шаги.

  1. Преобразование в битовые данные
  2. Использование JPGEncoder и PNGEncoder для битовых данных
  3. Затем присвоение переменной байтового массива.

Итак, в этомВ случае JPG и PNG для сохранения использовались разные байтовые массивы, и это работало.

Я нашел код для преобразования мувиклипа в байтовый массив в самом Stackoverflow

AS3: экспорт мувиклипа или холста в swf

var buffer:ByteArray = new ByteArray();
buffer.writeObject(MOVIE_CLIP_HERE);
buffer.position = 0;
buffer.writeBytes(...);

Что следуетбыть параметром функции writeBytes объекта буфера.Предположим, что название мувиклипа - canvas_mc.

Я уже разобрался с частью php.Заранее спасибо.

1 Ответ

5 голосов
/ 25 мая 2011

Вы не используете ByteArray.writeObject() и анализируете MovieClip ..

Вам необходимо использовать bitmapData.getPixels(), который возвращает ByteArray, представляющий пиксели вашего растрового изображения.

Вот краткий пример:

const WIDTH:uint = 100;
const HEIGHT:uint = 100;

var rect:Rectangle = new Rectangle(0,0,WIDTH,HEIGHT);

// create BitmapData
var bmd:BitmapData = new BitmapData(WIDTH,HEIGHT,true,0);
bmd.draw(YOUR_MOVIE_CLIP);

// your byte array
var ba:ByteArray = bmd.getPixels(rect);
trace(ba.length);

По сути, вы хотите использовать BitmapData.draw(), чтобы получить графику MovieClip и сохранить ее как ByteArray.

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