Theo giấy phép MIT xuất bản thư viện giải mã hình ảnh đa nền tảng SAIL. SAIL là việc đổi tên thương hiệu của codec từ trình xem hình ảnh không được hỗ trợ từ lâu được viết lại bằng C KS sóc, nhưng với API trừu tượng cấp cao và nhiều cải tiến. Đối tượng: người xem hình ảnh, phát triển game, tải hình ảnh vào bộ nhớ cho các mục đích khác. Thư viện đang được phát triển nhưng đã có thể sử dụng được. Khả năng tương thích mã nhị phân và mã nguồn không được đảm bảo ở giai đoạn phát triển này.
Các tính năng:
Thư viện đơn giản, nhỏ gọn và nhanh chóng được viết bằng C mà không phụ thuộc vào bên thứ ba (ngoại trừ codec);
API đơn giản, dễ hiểu và đồng thời mạnh mẽ cho mọi nhu cầu;
Các ràng buộc cho C++;
Các định dạng hình ảnh được hỗ trợ bởi codec được tải động;
Đọc (và ghi) hình ảnh từ tệp, bộ nhớ hoặc thậm chí nguồn dữ liệu của riêng bạn;
Xác định loại hình ảnh theo phần mở rộng của tệp hoặc bằng con số kỳ diệu;
Các định dạng hiện được hỗ trợ: png (đọc, chỉ dành cho Windows), JPEG (đọc, ghi) PNG (đọc, ghi).
Công việc đang được tiến hành để thêm các định dạng mới. KSquirrel-libs hỗ trợ khoảng 60 định dạng theo cách này hay cách khác, các định dạng phổ biến nhất là định dạng đầu tiên;
Hoạt động đọc luôn có thể xuất ra các pixel ở định dạng RGB và RGBA;
Một số codec có thể xuất pixel ở danh sách định dạng thậm chí còn lớn hơn;
Hầu hết các codec cũng có thể xuất pixel SOURCE. Điều này rất hữu ích, ví dụ như đối với những ai muốn lấy thông tin đầy đủ từ hình ảnh CMYK hoặc YCCK;
Đọc và viết hồ sơ ICC;
Ví dụ trong C, Qt, SDL;
Nền tảng được hỗ trợ:
Windows (trình cài đặt), macOS (brew) và Linux (Debian).
SAIL không cung cấp những gì:
Chỉnh sửa hình ảnh;
Các chức năng chuyển đổi không gian màu khác với các chức năng được cung cấp bởi codec cơ bản (libjpeg, v.v.);
Chức năng quản lý màu (sử dụng cấu hình ICC, v.v.)
Ví dụ đơn giản nhất về giải mã trong C:
struct Sail_context *bối cảnh;
SAIL_TRY(sail_init(&context));
struct Sail_image *hình ảnh;
ký tự không dấu *image_pixels;
/*
* Ở đây xử lý các pixel nhận được.
* Để thực hiện việc này, hãy sử dụng hình ảnh->chiều rộng, hình ảnh->chiều cao, hình ảnh->byte_per_line,
* và hình ảnh->pixel_format.
*/