影像解碼庫SAIL 0.9.0-pre12發布

SAIL 圖像解碼庫的幾個重要更新已經發布,提供了對早已不存在的 KSquirrel 圖像檢視器的編解碼器的 C 重寫,但具有高級抽象 API 和許多改進。 該庫已可供使用,但仍在不斷改進中。 尚不能保證二進位和 API 相容性。 示範。

賽爾的特點

  • 快速且易於使用的庫;
  • 用 C11 寫,綁定到 C++17;
  • 對圖像格式的支援是透過動態載入的編解碼器實現的,可以獨立於客戶端進行刪除和添加;
  • 從文件、記憶體、自己的來源讀取;
  • 支援多頁和動畫圖像;
  • 對流行格式的支援仍然使用相應的庫 libjpeg、libpng 等來完成。
  • 跨平台:Linux、Windows、macOS;
  • 「探測」-無需解碼像素即可取得影像資訊;
  • 人類實體名稱(無 FIMULTIBITMAP);
  • 讀寫 ICC 配置檔;
  • 發送 RGBA 或 BGRA 像素;
  • 如果編解碼器支持,則傳回原始像素(例如 CMYK);

自上次發布以來的更改清單:

  • API 已顯著改進和簡化。 是: struct sail_context *context; SAIL_TRY(sail_init(&context)); 結構 sail_image *圖像; 無符號字元*image_pixels; SAIL_TRY(sail_read(路徑, 上下文, &image, (void **)&image_pixels)); ....免費(圖片像素); sail_destroy_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 規則也可用
  • Windows-vcpkg
  • macOS - 釀造

來源: opennet.ru

添加評論