Дата публикации:Tue, 07 Nov 2023 09:20:30 +0300
Опубликован релиз C/C++ библиотеки декодирования изображений SAIL 0.9.0, которую можно использовать для создания просмотрщиков изображений, загрузки изображений в память, загрузки ресурсов при разработке игр и т.п. Библиотека продолжает развитие декодировщиков форматов изображений ksquirrel-libs из программы KSquirrel, которые были переписаны с С++ на язык С. Программа KSquirrel существует с 2003 года (сегодня проекту исполнилось ровно 20 лет), но разработка просмотрщика была прекращена в 2008 году вместе с KDE3. Код SAIL распространяется под лицензией MIT. Поддерживается работа в Windows, macOS и Linux.
Ключевые особенности:
- Четыре уровня API. Самый неглубокий уровень погружения - junior, где возможно загрузить только один кадр с помощью двух строчек кода:
struct sail_image *image;
SAIL_TRY(sail_load_from_file(path, &image));
Самый глубокий уровень погружения - загрузка анимированных или многостраничных изображений из нестандартных источников (не из файла или из памяти).
Поддержка загрузки из файлов или из памяти.
Динамически подгружаемые кодеки. Возможность скомпилировать кодеки в одну библиотеку (-DSAIL_COMBINE_CODECS=ON) если динамическая загрузка по какой-то причине неудобна.
Код написан на C11 с биндингом на C++11.
Доступна в пакетных менеджерах Conan, vcpkg, brew (некоторые PR ожидают слияния).
Поддерживает все современные форматы изображений: JPEG, PNG, TIFF, GIF, AVIF, WEBP, JPEG XL и др.
Опережает по производительности почти всех своих конкурентов, таких как STB или FreeImage.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60064