У меня есть приложение ввода камеры во флэш-памяти (AS3), и я рисую поверх него графику. Я хочу сделать снимок видимой области сцены, но только видео и графику, которую я рисую поверх видео. Я хочу исключить элементы управления из снимка изображения. Расположение моего экранного объекта находится в следующем соотношении:
-stage
--canvas (Sprite)
---video (Video)
---overlayed graphics (Sprites, MCs, Shapes)
--controls (Buttons)
Размер рабочей области фиксирован, и я хочу сделать снимок всего, что является дочерним элементом моего элемента canvas (видео с камеры и наложенная графика, но без элементов управления). Я могу сделать снимок этого изображения, когда оверлейная графика находится в пределах размера сцены. Я делаю это так:
var bmpd:BitmapData = new BitmapData(canvas.width, canvas.height);
bmpd.draw(canvas, new Matrix(1, 0, 0, 1, canvas.x, canvas.y));
Но это дает мне нежелательный результат, когда графика, которую я рисую поверх видео на холсте, выходит за границы области отображения сцены. Как ограничить снимок изображения только в пределах видимой области внутри сцены?
Спасибо