Создать изображение на основе SWF (flash) элемента на странице? PHP / Jquery / Javascript / HTML / FLASH - PullRequest
1 голос
/ 14 июля 2010

Есть ли в любом случае взять "снимок экрана", "сохранить" или "захватить" активный элемент SWF на странице в виде изображения? Я бы хотел, чтобы пользователи могли просто нажимать кнопку на моей странице, вместо того чтобы вручную снимать скриншот всей страницы, а затем обрезать изображение, чтобы показать только элемент SWF.

Я нашел метод Jquery, хотя я не уверен, может ли он работать с SWF-файлами. Он в основном захватывает область элемента Image на странице и позволяет сохранить его как отдельное изображение. Однако мне понадобится захватить SWF как изображение. Примечание. У меня нет доступа к SWF-коду, поэтому я не могу добиться этого с помощью Actionscript или чего-либо подобного - это должно быть сделано исключительно с помощью PHP и Javascript.

Спасибо за любые идеи:)

Ответы [ 2 ]

0 голосов
/ 14 июля 2010

Посмотрите на ByteArray.getPixels(0,0,stage.stageWidth,stage.stageHeight) или var b;BitMap = BitMapData(stageW,stageH).draw(stage), в зависимости от ваших потребностей. Обратите внимание, что две приведенные выше строки - это не правильный код, а только правильные имена объектов и функций, написанные от руки и из моей головы.

0 голосов
/ 14 июля 2010

Я не думаю, что есть способ сделать это из Javascript, но если вы разместите эти SWF-файлы на своем собственном сервере, вы можете создать оболочку SWF, которая загружает SWF-файлы, которые вы хотите снимать, динамически, а затем рисует их вобъект BitmapData.

Процесс создания снимка внутри SWF-файла может быть запущен из Javascript через ExternalInterface, после чего вы можете либо сериализовать необработанные пиксели, либо использовать кодировщик PNG или JPEG внутри SWF-оболочки, чтобы преобразовать битовые данные в файл изображения изатем отправьте эти данные обратно в Javascript через ExternalInterface.Или вы используете класс FileReference в SWF, чтобы сохранить файл изображения непосредственно на жестком диске пользователя - хотя одно предупреждение заключается в том, что для запуска процесса сохранения пользователь должен будет нажать кнопку внутри SWF (это защитаfeature).

Существует еще одно предварительное условие: файлы SWF, которые вы загружаете в оболочку, должны быть размещены в том же домене, что и оболочка SWF, в противном случае защитный песочник не позволит получить растровое изображениеснимок этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...