2009-10-14 1 views
1

Какой самый быстрый способ получить захват экрана в flex? В настоящее время я использую: (я в настоящее время кодирую его в Base64 для загрузки на веб-сервер, но это необязательно требуется. Все, что я хочу, это файл изображения, который будет отображаться на сервере).Самый быстрый способ сделать снимок экрана в Flex 3?

ImageSnapshot.defaultEncoder = JPEGEncoder; 
    var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(<< flex component >>); 
    var screenshotData:String = ImageSnapshot.encodeImageAsBase64(imageSnap); 

В настоящее время он удерживает приложение в течение почти секунды, так как он фактически захватывает изображение. Кодирование Base64 происходит практически мгновенно.

ответ

0

с открытым кодом кодер JPEG не быстрее, чем mx.codecs один, к сожалению. Однако построение в кодировщике PNG примерно в 6 раз быстрее, чем JPEG-кодировщик. Это решает проблему, которую я в настоящее время имел, то есть слишком медленное сжатие.

Ответы «thumbnails of components» от CookieOfFortune решают другую проблему: снимать снимок отдельно от сжатия, (снимок занимает около 5 мс для меня, теперь сжатие, < 500 мс).

0

Посмотрите на ответ на это: Thumbnails of components

Я использовал очень похожую функцию, и это было довольно быстро, так что надеюсь, вы не будете иметь никаких проблем делать это таким образом.

2

Проверьте обратный URL, это кодировщик с открытым исходным кодом JPEG, который более чем в 4 раза быстрее, чем тот, который находится в Corelib.

http://www.bytearray.org/?p=775

Смежные вопросы