#color #profile #icc #safe-wrapper #sys #linux-macos #lcms

sys lcms2-sys

支持Linux、macOS和Windows的liblcms2(Little CMS)绑定。请参阅lcms2 crate以获取安全的Rust包装器。

20个稳定版本

4.0.5 2024年2月27日
4.0.4 2023年11月23日
4.0.3 2023年9月2日
4.0.1 2023年4月5日
0.5.0 2016年7月16日

#852 in 图像

Download history • Rust 包仓库 3763/week @ 2024-04-19 • Rust 包仓库 4724/week @ 2024-04-26 • Rust 包仓库 4602/week @ 2024-05-03 • Rust 包仓库 6432/week @ 2024-05-10 • Rust 包仓库 3502/week @ 2024-05-17 • Rust 包仓库 4684/week @ 2024-05-24 • Rust 包仓库 2408/week @ 2024-05-31 • Rust 包仓库 4189/week @ 2024-06-07 • Rust 包仓库 4428/week @ 2024-06-14 • Rust 包仓库 4912/week @ 2024-06-21 • Rust 包仓库 3440/week @ 2024-06-28 • Rust 包仓库 4762/week @ 2024-07-05 • Rust 包仓库 3492/week @ 2024-07-12 • Rust 包仓库 4674/week @ 2024-07-19 • Rust 包仓库 5289/week @ 2024-07-26 • Rust 包仓库 5352/week @ 2024-08-02 • Rust 包仓库

19,666 每月下载量
用于 21 个crate(3个直接使用)

MIT 许可证

1.5MB
26K SLoC

C 24K SLoC // 0.1% comments • Rust 包仓库 Rust 1.5K SLoC // 0.0% comments • Rust 包仓库

Little CMS的绑定用于Rust

使LCMS C API在Rust中可用。还有一个更高级的包装器

它与2.16版本保持最新,也支持旧版本。支持Linux、macOS和Windows。其他平台也可能支持。

此crate需要Rust 1.65或更高版本。

C API的不同之处

此crate改进了bindgen的绑定,使其更具Rust风格

  • 类型名称没有前缀cms,例如cmsColorSpaceColorSpace
    • 所有C函数名称保持不变(带有前缀,例如fn cmsReadTag())。
  • 枚举值没有前缀cmsSig,例如cmsSigLabDataLabData
  • 某些参数使用更具体的类型,例如使用Intent::Perceptual枚举而不是INTENT_PERCEPTUAL整数。

动态链接与静态链接配置

如果设置了环境变量 LCMS2_LIB_DIR,并且路径中包含静态或动态库,则无论其他设置如何,都将使用此库。

如果设置了环境变量 LCMS2_STATIC,它将优先选择静态链接。

该软件包支持"静态"和"动态" Cargo 功能。如果启用"动态"(默认值),则如果安装并正确工作 pkg-config,则将链接到系统范围内的 LCMS2 共享库。通常您还需要在系统上安装类似 lcms2-dev 的包。

如果 pkg-config 无法正常工作(例如在 Windows 上),或者启用了"静态"功能,它将从源代码构建捆绑的 LCMS 2.15。

对于使用此 sys crate 作为依赖项的 Rust 构建脚本,Cargo 将设置 DEP_LCMS2_INCLUDE 环境变量为 连接包含目录的路径,其中可能包含 lcms2.h。这仅适用于您直接使用库编译 C 代码的情况。

贡献

此存储库使用 git 子模块,可能会引起不便。请确保使用带有 git clone --recursive 的命令进行克隆,或者运行

git submodule update --init

依赖项