cashirov
27.05.2006, 13:16
У меня возникла проблема с getPixel32 если в цвете ARGB есть нули то они в итоге не отдаются например вот пример из хелпа.
import flash.display.BitmapData;
var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0x49ff0303);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
var alpha:String = (myBitmapData.getPixel32(0, 0) >> 24 & 0xFF).toString(16);
trace(">> alpha: " + alpha); //
var red:String = (myBitmapData.getPixel32(0, 0) >> 16 & 0xFF).toString(16);
trace(">> red: " + red); //
var green:String = (myBitmapData.getPixel32(0, 0) >> 8 & 0xFF).toString(16);
trace(">> green: " + green); //
var blue:String = (myBitmapData.getPixel32(0, 0) & 0xFF).toString(16);
trace(">> blue: " + blue); //
trace("0x" + alpha + red + green + blue); //
в трейсе вот что
>> alpha: 49
>> red: ff
>> green: 3
>> blue: 3
0x49ff33
В чем может быть причина?
import flash.display.BitmapData;
var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0x49ff0303);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
var alpha:String = (myBitmapData.getPixel32(0, 0) >> 24 & 0xFF).toString(16);
trace(">> alpha: " + alpha); //
var red:String = (myBitmapData.getPixel32(0, 0) >> 16 & 0xFF).toString(16);
trace(">> red: " + red); //
var green:String = (myBitmapData.getPixel32(0, 0) >> 8 & 0xFF).toString(16);
trace(">> green: " + green); //
var blue:String = (myBitmapData.getPixel32(0, 0) & 0xFF).toString(16);
trace(">> blue: " + blue); //
trace("0x" + alpha + red + green + blue); //
в трейсе вот что
>> alpha: 49
>> red: ff
>> green: 3
>> blue: 3
0x49ff33
В чем может быть причина?