Выпуск библиотеки декодирования изображений SAIL 0.9.0-pre12

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Мар-2021 13:30

Опубликовано несколько значительных обновлений библиотеки декодирования изображений SAIL, предоставляющей переписанный на С ребрендинг кодеков из давно не поддерживаемой программы просмотра изображений KSquirrel, но с наличием высокоуровневого абстрактного API и многочисленными улучшениями. Библиотека готова для использования, но всё ещё непрерывно улучшается. Бинарная и API совместимость пока не гарантируется. Демонстрация.
Особенности SAIL
  • Быстрая и простая в использовании библиотека;
  • Написана на C11 c биндингами к C++17;
  • Поддержка форматов изображений реализована динамически загружаемыми кодеками, которые можно удалять и добавлять независимо от клиентской части;
  • Чтение из файла, памяти, собственных источников;
  • Поддержка многостраничных и анимированных изображений;
  • Поддержка популярных форматов всё же делается с помощью соответствующих библиотек libjpeg, libpng, и т.д.
  • Кросс-платформенность: Linux, Windows, macOS;
  • "Прощупывание" (probing) - получение информации об изображении без декодирования пикселей;
  • Человеческие названия сущностей (никаких FIMULTIBITMAP);
  • Чтение и запись ICC профилей;
  • Отдаёт RGBA или BGRA пиксели;
  • Отдаёт исходные пиксели (например, CMYK) если поддерживаются кодеком;
Список изменений с момента прошлой публикации:
  • Значительно улучшено и упрощено API.
    Было:
    struct sail_context *context;
       SAIL_TRY(sail_init(&context));
       struct sail_image *image;
       unsigned char *image_pixels;
       SAIL_TRY(sail_read(path, context, &image, (void **)&image_pixels));
       ...
       free(image_pixels);
       sail_destroy_image(image);
    Стало:
    struct sail_image *image;
       SAIL_TRY(sail_read_file(path, &image);
       ...
       sail_destroy_image(image);
  • Добавлены форматы BMP, GIF, TIFF;
  • Доступность в VCPKG на всех платформах кроме UWP;
  • Опубликованы сравнительные тесты производительности;
  • Биндинг C++ переведён на C++17;
  • Функции выделения памяти собраны в одном месте, чтобы их было легко заменить на свои, но на данный момент это можно сделать только перекомпиляцией;
  • Пользователи теперь могут использовать CMake find_package() для подключения SAIL;
  • Добавлена возможность статической компиляции (SAIL_STATIC=ON);
  • Добавлена возможность компиляции всех кодеков в одну общую библиотеку (SAIL_COMBINE_CODECS=ON);
  • Начата работа по добавлению тестов на основе µnit;
Рекомендуемый метод установки
  • Linux - vcpkg, также доступны Debian rules
  • Windows - vcpkg
  • macOS - brew

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_sail, #_image
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 21:06
Часовой пояс: UTC + 5