Показать сообщение отдельно
Старый 18.01.2011, 12:54
metsys вне форума Посмотреть профиль Отправить личное сообщение для metsys Найти все сообщения от metsys
  № 4  
Ответить с цитированием
metsys

Регистрация: Feb 2010
Сообщений: 102
сижу ломаю голову ничерта не получается, может кто то кусок кода привести хотя бы приблезительный?
вот загрузил я картинку, представил её в виде BitmapData
Код AS3:
var bmd:BitmapData=e.target.content.bitmapData;
а как мне на неё альфаканал наложить?

Добавлено через 3 часа 12 минут
и так вот до чего я дошёл

Код AS3:
import flash.display.Bitmap;
import flash.display.BitmapData;
 
var bmd:BitmapData = new BitmapData(80, 80, true, 0xFFCCCCCC);
var al:Number=255/100;
var onePercent:Number=bmd.height/100;
for (var i:uint=0; i<80; i++)
{
	for (var j:int=0; j<80; j++)
	{
		var gtPxl32:uint = bmd.getPixel32(j, i);
		var alphaValue:uint = gtPxl32 >> 24 & 0x11;
		trace(alphaValue.toString(16));
 
		var q:int=(100-(i/onePercent));
		var point:uint=gtPxl32;//-(q+0x10000000);
 
		bmd.setPixel32(j, i, point);
	}
	//trace(q);
}
 
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
я беру какую нибудь исходную BitmapData, копирую её попиксельно, и в процессе копирования каждый рядок хочу сделать прозрачным с определённым значением q. Как мне q типа int перевести в uint и поставить это значение вместо альфа канало от исходной BitmapData?
Это единственное что я придумал как сделать альфа градиент к картинке.