
Код:
import flash.display.BitmapData;
import flash.geom.Rectangle;
//
var __bmpd:BitmapData = new BitmapData(30, 30, false, 0);
__bmpd.fillRect(new Rectangle(5, 5, 20, 20),0xffffff);
var __mc:MovieClip = _root.createEmptyMovieClip("__mc", 0);
__mc.attachBitmap(__bmpd,0);
var r_arr:Array = [];
var j:Number = 0;
onEnterFrame = function ():Void {
var i:Number = 0;
var r_num:Number = 1;
var base:Number = 1;
while(i<30){
r_num+=(base<<(__bmpd.getPixel(i,j)>0?0:1));
base *=2;
trace(i+" : "+(r_num ^ base).toString(2));
i++;
}
r_arr.push(r_num ^ base);
j++;
if (j>30) {
trace(r_arr);
trace(r_arr[0].toString(2));
trace(r_arr[6].toString(2));
delete this.onEnterFrame;
}
};
В примере создается картинка размером 30х30 пикселов и построчно заносится в массив. В результате чего получаем массив из 30 элементов, значение каждого из них можно представить в виде числа не большего, чем 2 в степени 30. На самом деле, я думаю, что такую операцию всю можно запихать в 1 онЕнтерФрейм, и таким образом (по 900 пикселов) записать всю картинку. Таким образом понадобится создать 683 массива (683 раза запустить онЕтерФрейм) при 25 фпс это примерно полминуты %)
Ну, не знаю... в принципе, терпимо %) Нужно еще поэксперементировать с сокетом, и как часто можно реально посылать инфу, возможно, можно все это и быстрее сделать =)