|
|
|||||
Поддержка картинок Webp
Внезапно поломался проект AIR, т.к. api соцсети стал отдавать картинки в формате webp...
Есть ли какая библиотека для работы с webp в AS3? Мои поиски пока не увенчались успехом... Заранее благодарен за помощь в вопросе
__________________
кто не отвечает, того garbage collector забирает |
|
|||||
Bletraut, спасибо, эта единственная наверно библиотека на которую изначально и наткнулся, но как с ней работать пока не разбирался - там нет привычных расширений файлов..
Сделал сразу временное решение на php: на сервере получаю Json, там же вытаскиваю все webp и конвертирую в jpeg, приложение получает готовые картинки. Но правильней было бы, наверно, чтоб это все на клиенте происходило.
__________________
кто не отвечает, того garbage collector забирает |
|
|||||
Цитата:
__________________
Я заклинаю вас действовать иначе. |
|
|||||
Увидел.. К этой библиотеке libwebp написано "You must include bin/libwebp.swc"..
Подключил libwebp.swc во Flash Builder - в этом проблем нет. Как теперь использовать в своем проекте? К этой библиотеке вкратце написано: package libwebp; function DecodeWebp(webpByteArray:ByteArray):BitmapData; function EncodeWebp(input:BitmapData, quality:Number):ByteArray; P.S. если просто пытаюсь обратиться к DecodeWebp, то FlashBuilder не видит этого метода
__________________
кто не отвечает, того garbage collector забирает |
|
|||||
Цитата:
А затем уже использовать методы в библиотеке, т.е. скачать файл webp, прочитать из него ByteArray и передать в метод DecodeWebp, из него получить BitmapData. Добавлено через 1 час 3 минуты Если коротко, то примерно должно выглядеть так. P.S. Нет под рукой рабочего флеша чтобы проверить, писал по памяти. package { import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.utils.ByteArray; import flash.net.*; import libwebp.*; /** * ... * @author Bletraut */ public class Main extends Sprite { private var loader:URLLoader; public function Main() { var request:URLRequest = new URLRequest("https://www.gstatic.com/webp/gallery/1.webp"); loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.load(request); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } private function loaderCompleteHandler(event:Event):void { var bytes:ByteArray = loader.data; var decodedBitmap:BitmapData = DecodeWebp(bytes); } } }
__________________
Я заклинаю вас действовать иначе. Последний раз редактировалось Bletraut; 29.07.2022 в 15:02. |
Часовой пояс GMT +4, время: 15:10. |
|
« Предыдущая тема | Следующая тема » |
|
|