SWF для изображения - PullRequest
       9

SWF для изображения

1 голос
/ 20 апреля 2009

В настоящее время я использую SWFToImage для преобразования моих диаграмм, динамически генерируемых в SWF, в изображение. Но он часто вылетает, когда необходимо создать несколько изображений одновременно.

Существуют ли лучшие решения для создания изображения из SWF-файла?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2009

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

Ответ на комментарий: Да, вы правы, вы можете легко сделать это, загружая и внешний SWF-файл.

Вот примерный план того, что вам нужно сделать:

Загрузка внешнего SWF так же проста:

var loader:Loader = new Loader();

var urlRequest:URLRequest = new URLRequest("url-to-external.swf");

loader.load(urlRequest);

Затем скопируйте внешний SWF-контент в объект BitmapData (возможно, при каком-либо событии, например, при нажатии кнопки):

var bitmapData:BitmapData = new BitmapData(loader.width, loader.height);
bitmapData.draw(loader);

Однако может потребоваться дополнительная работа в зависимости от того, как выглядит исходный SWF-файл. Вам может особенно понадобиться принять во внимание (x, y) координаты содержимого в загруженном SWF, поскольку они могут создавать смещение того, что рисуется в объекте BitmapData.

Затем вы можете использовать объект BitmapData для создания файла изображения, например PNG, с использованием класса PNGEncoder из ядра AS3 lib .

0 голосов
/ 20 апреля 2009

Возможно, вы захотите использовать генератор диаграмм без флэш-памяти, если вы избавляетесь от вспышки, просто используя изображение. Это было бы намного быстрее / эффективнее / надежнее.

Не обращайте внимания на это, если вспышка кем-то фактически используется.

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