Onder MIT-licentie gepubliceerd platformonafhankelijke beelddecoderingsbibliotheek SAIL. SAIL is een rebranding van codecs van een lang niet ondersteunde beeldviewer, herschreven in C KSekhoorn, maar met een abstracte API op hoog niveau en talloze verbeteringen. Doelgroep: beeldviewers, game-ontwikkeling, afbeeldingen in het geheugen laden voor andere doeleinden. De bibliotheek is nog in ontwikkeling, maar is al bruikbaar. Compatibiliteit met binaire codes en broncodes is in dit ontwikkelingsstadium niet gegarandeerd.
kenmerken:
Een eenvoudige, compacte en snelle bibliotheek geschreven in C zonder afhankelijkheden van derden (behalve codecs);
Eenvoudige, begrijpelijke en tegelijkertijd krachtige API voor alle behoeften;
Bindingen voor C++;
Beeldformaten worden ondersteund door dynamisch geladen codecs;
Afbeeldingen lezen (en schrijven) vanuit een bestand, geheugen of zelfs uw eigen gegevensbron;
Het afbeeldingstype bepalen op bestandsextensie of op magisch nummer;
Momenteel ondersteunde formaten: png (lezen, alleen Windows), JPEG (lezen, schrijven) PNG (lezen, schrijven).
Er wordt gewerkt aan het toevoegen van nieuwe formaten. KSquirrel-libs ondersteunde op de een of andere manier ongeveer 60 formaten, de meest populaire formaten staan voorop;
Leesbewerkingen kunnen altijd pixels uitvoeren in RGB- en RGBA-indeling;
Sommige codecs kunnen pixels in een nog grotere lijst met formaten uitvoeren;
De meeste codecs kunnen ook SOURCE-pixels uitvoeren. Dit is bijvoorbeeld handig voor degenen die volledige informatie uit CMYK- of YCCK-afbeeldingen willen halen;
ICC-profielen lezen en schrijven;
Voorbeelden in C, Qt, SDL;
Ondersteunde platformen:
Windows (installatieprogramma), macOS (brew) en Linux (Debian).
Wat SAIL niet biedt:
Foto bewerken;
Kleurruimteconversiefuncties anders dan die geleverd door onderliggende codecs (libjpeg, enz.);
Kleurbeheerfuncties (gebruik van ICC-profielen, enz.)
/*
* Verwerk hier de ontvangen pixels.
* Gebruik hiervoor afbeelding->breedte, afbeelding->hoogte, afbeelding->bytes_per_lijn,
* en afbeelding->pixel_format.
*/