Показать сообщение отдельно
Старый 15.07.2014, 09:07
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 16  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
видимо ты только с растром это делал.
Причем здесь растр?

Немного не понятно. Можешь объяснить для чего все эти телодвижения с матрицами, с еще одной битмапдатой? Как по мне, так это походит на костыль, в котором трудно разобраться. Весь этот код можно упростить до такого
Код AS3:
var mask:Shape = new Shape();
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(100, 100);
mask.graphics.beginGradientFill(GradientType.LINEAR, [0xFFFFFF, 0xFFFFF], [0x00, 0xFF], [0, 255], gradientMatrix);
mask.graphics.drawCircle(50, 50, 40);
mask.graphics.drawRect(70, 70, 30, 30);
 
var background:BitmapData = new BitmapData(100, 100, true, 0); 
background.noise(0);
var maskBitmap:BitmapData = new BitmapData(background.width, background.height, true, 0); 
maskBitmap.draw(mask);
maskBitmap.copyPixels(background, new Rectangle(0, 0, 100, 100), new Point(), maskBitmap, new Point()); // copyPixels умеет маску
addChild(new Bitmap(maskBitmap));
И получим тот же результат Или я какой-то скрытый смысл не уловил?
Изображения
 
__________________
Ко мне можно и нужно обращаться на ты)