Создание скриншота окна браузера / вкладки в flex - PullRequest
1 голос
/ 29 октября 2010

Я довольно новичок в Flex.

Я посмотрел на то, чтобы делать скриншоты на flex, и нашел много ссылок в Google и здесь на stackoverflow для того, чтобы делать скриншоты компонентов и тому подобного.Я хотел бы сделать снимок экрана со всей вкладкой в ​​окне браузера (или, если это не удастся, само окно браузера или даже только экран).

Я могу сделать снимок экранастек просмотра, потому что он реализует интерфейс IBitmapDrawable.Но что, если я хочу сделать снимок экрана с вкладкой браузера, как уже упоминалось?Возможно ли это, и если да, то как?

Родителем стека просмотра является приложение, но при попытке передать Application.application методу рисования класса BitmapData я получаю следующую ошибку:

Неявное приведение значения со статическим типом Object к возможно не связанному типу flash.display: IBitmapDrawable.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 29 октября 2010

Невозможно делать скриншоты всего, что находится за пределами вашего приложения Flex. Однако должна быть возможность сделать снимок экрана вашего приложения. Application - это DisplayObject, который реализует IBitmapDrawable. Причина вашей ошибки в том, что Application.application имеет тип Object. Таким образом, вы должны иметь возможность преобразовать ваше приложение в IBitmapDrawable и использовать его для получения снимка экрана вашего приложения.

// Flex 3.x
var app:IBitmapDrawable = Application.application as IBitmapDrawable;

// in Flex SDK 4.x Application.application is deprecated so use
var app:IBitmapDrawable = FlexGlobals.topLevelApplication as IBitmapDrawable;
2 голосов
/ 29 октября 2010

Извините, но невозможно сделать снимки экрана полного окна или вкладки браузера.Вы также можете захватить то, что работает внутри Flash Player.Это проблема безопасности.

При работе с приложениями Adobe Air все иначе, поскольку у вас более сильная связь с функциями встроенной ОС.

Если это поможет, пожалуйста, проголосуйте за ответ.

...