В настоящее время мы используем компонент mx: HTML для рендеринга сложных HTML-страниц (что было довольно неприятно .. :)). По некоторым причинам нам нужно, когда рендерит HTML, чтобы захватить изображение отображаемой страницы. Поэтому я использую следующий код для этого:
при инициализации:
frameHtml.addEventListener(Event.HTML_RENDER, cacheFrameHTML);
и функция cacheFrameHTML:
private function cacheFrameHTML(event:*):void {
...
cacheImage.source = new Bitmap( ImageSnapshot.captureBitmapData(frameHtml));
...
}
По какой-то неизвестной причине результирующее изображение иногда полностью пустое. Похоже, что между событием HTML_RENDER и эффективным рендерингом компонента HTML существует небольшая задержка. Я пытался отложить захват изображения с помощью таймера, который, кажется, работает, но это не совсем чисто.
Итак, мой вопрос:
- есть ли кто-нибудь, кто знает хитрость, которая запускает захват только тогда, когда фрейм HTML отображается эффективно?
- по крайней мере, есть ли способ проверить, является ли результат BitmapData пустым или имеет только белые пиксели?: b
Большое спасибо
Antoine