Search

Rss Posts

Rss Comments

Login

 

How to grab shapshot from UI component in Flex

Авг 24

Как получить копию экрана или компонента в картинке.

В третьем флексе есть замечательный класс mx.graphics.ImageSnapshot. Работать с ним лекго. Он умеет кодировать в PNG и JPG, а также ресемплировать картинку до нужного DPI. При чем делает это по-умному: сначала растягивает компонент (где-то там у себя в памяти), а потом делает снимок. Т.е. все векторные объекты сохраняют свою четкость.

var snapshot:ImageSnapshot = ImageSnapshot.captureImage(component, dpi.value, new PNGEncoder());

Заметьте, что таким способом у вас не получится снять картинку размером более 2880х2880

Смотрите пример: http://flexpower.in.ua/examples/imagesnapshot/index.html

Доступен просмотр кода. Enable source view.