Hi, as a side project, I started working on a ICC library for Plan 9. It is now in a state to be presented to the community.
It is also not only the library, but also a set of smaller tools: - iccinfo: display metadata about an ICC color profile - iccconv: convert RGB Plan 9 images using a source profile and a target profile. It can also be used to change the "look" of the image by supplying a blackbody value.[1] The library itself is built using the 2022 specification (v4), and tested using two sRGB color profiles. Both profiles used LAB as the PCS, so the XYZ routines aren't thoroughly tested, some aren't even implemented yet. The core features of the library are: - loading and freeing profile data from a file descriptor - iccAtoB and iccBtoA to convert between data space (RGB) and PCS (LAB/XYZ) - lab2xyz, xyz2lab See also the more detailed README in the repository (https://shithub.us/sirjofri/libicc/HEAD/info.html). For ease of comparing images, I created a small image side-by-side viewer (https://shithub.us/sirjofri/imgdiff/HEAD/info.html). Everything was developed on a 9front system, they _should_ work on a 9legacy system, too, but I didn't test. It's by far not complete, but it's a start. Patches are welcome, as is code review for the core functionality. Especially the CLUT interpolation. sirjofri [1]: This can also be useful in a live scenario to shift colors to a "night" mode, or generally adjust the lighting to the environment. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T2637c86cc99f9ac9-Mb7c4118dc2f691db76460a1b Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
