Показать сообщение отдельно
Старый 29.07.2022, 13:58
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 6  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Цитата:
Сообщение от djken Посмотреть сообщение
Увидел.. К этой библиотеке libwebp написано "You must include bin/libwebp.swc"..
Подключил libwebp.swc во Flash Builder - в этом проблем нет. Как теперь использовать в своем проекте? К этой библиотеке вкратце написано:
Код AS3:
package libwebp;
function DecodeWebp(webpByteArray:ByteArray):BitmapData;
function EncodeWebp(input:BitmapData, quality:Number):ByteArray;
Нужно создать отдельный as3 файл для этого пакета? Обычно я в swc сохраняю нарисованные интерфейсы, а в отдельном as3 файле наслюдуюсь и пишу уже конструкторы, методы для класса. А что тут мне нужно сделать? Пока не могу понять... Заранее спасибо за подсказку )

P.S. если просто пытаюсь обратиться к DecodeWebp, то FlashBuilder не видит этого метода
Нужно в as3 файле подключить это пространство имён, т.е. дописать
Код AS3:
import libwebp.*;
А затем уже использовать методы в библиотеке, т.е. скачать файл webp, прочитать из него ByteArray и передать в метод DecodeWebp, из него получить BitmapData.

Добавлено через 1 час 3 минуты
Если коротко, то примерно должно выглядеть так.
P.S. Нет под рукой рабочего флеша чтобы проверить, писал по памяти.

Код AS3:
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.