图像解码库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

添加评论