Facebook опубликовал Spectrum 1.0.0, библиотеку для работы с изображениями

Facebook представил первый стабильный релиз проекта Spectrum, в рамках которого развивается кроссплатформенная библиотека для перекодирования и обработки изображений. Код проекта написан на языке С++ и распространяется под лицензией MIT. Для Android и iOS предоставляются надстройки на Java и Objective-C, позволяющие в мобильных приложениях эффективно выполнять различные операции с изображениями.

Библиотека предоставляет простой декларативный API, дающий возможность определить характеристики выходного изображения и Spectrum сам вычислит и выполнит все необходимые преобразования, включая разбор и изменение метаданных EXIF. Обработчики форматов изображений определены в виде плагинов. Например, для формата JPEG по умолчанию применяется кодировщик Mozjpeg, обеспечивающий более высокую степень сжатия. Для обработки PNG применяется libpng, а для WEBP - libwebp.

Основные операции

  • Кодирование - преобразование битмапа в изображение в заданном формате;
  • Декодирование - преобразование форматов в битмап;
  • Перекодирование - конвертация из одного формата в другой;
  • Преобразование - кадрирование, вращение, изменение размера и т.п.

Источник: OpenNET