![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
например круг может лежать на (0, 0), и из-за этого в растр срисуется только четверть круга. getBounds и матрицы с tx и ty(отступы) позволяют рисовать круг полностью. var maskRect:Rectangle = new Rectangle(0, 0, mask.width, mask.height); var region:BitmapData = new BitmapData(maskRect.width, maskRect.height, true, 0); // результат region.draw(mask); region.copyPixels(background, maskRect, new Point(), region, new Point()); // copyPixels умеет маску this.addChild(new Bitmap(region)); |
|
|||||
|
Можно не заморачиваться с вычислением матрицы самому, а взять ее прямо у этой маски, то есть так:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
caseyryan, нельзя
|
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
должно быть так: в твоем случае так: т.е. в конкретном случае сдвиг на 10 пикселей |
|
|||||
|
Цитата:
Немного не понятно. Можешь объяснить для чего все эти телодвижения с матрицами, с еще одной битмапдатой? Как по мне, так это походит на костыль, в котором трудно разобраться. Весь этот код можно упростить до такого 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));
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
Цитата:
Цитата:
|
|
|||||
|
Цитата:
Ну это для примера. Туда можно и другие числа вписать
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
caseyryan, к тому же я уже показал код без матриц. там надо что бы маски были выровнены. http://www.flasher.ru/forum/showpost...6&postcount=11
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|