Ubos sa lisensya sa MIT gipatik cross-platform image decoding library SAIL. Ang SAIL usa ka rebranding sa mga codec gikan sa dugay na nga wala suportado nga tigtan-aw sa imahe nga gisulat pag-usab sa C KSquirrel, apan adunay taas nga lebel nga abstract API ug daghang mga pag-uswag. Target nga mamiminaw: mga tumatan-aw sa imahe, pag-uswag sa dula, pagkarga sa mga imahe sa memorya alang sa ubang mga katuyoan. Ang librarya ubos sa pag-uswag, apan magamit na. Ang binary ug source code compatibility dili garantiya sa kini nga yugto sa kalamboan.
Mga Feature:
Usa ka yano, compact ug paspas nga librarya nga gisulat sa C nga walay mga dependency sa ikatulo nga partido (gawas sa mga codec);
Yano, masabtan ug sa samang higayon gamhanan nga API alang sa tanang panginahanglan;
Mga binding para sa C++;
Ang mga format sa imahe gisuportahan sa mga codec nga dinamikong gikarga;
Basaha (ug isulat) ang mga hulagway gikan sa usa ka file, memorya, o bisan sa imong kaugalingong tinubdan sa datos;
Pagtino sa tipo sa imahe pinaagi sa extension sa file, o pinaagi sa magic nga numero;
Gisuportahan karon nga mga format: png (pagbasa, Windows lamang), JPEG (pagbasa, pagsulat) PNG (pagbasa, pagsulat).
Nagpadayon ang trabaho aron makadugang bag-ong mga format. Gisuportahan sa KSquirrel-libs ang mga 60 nga mga format sa usa ka paagi o lain, ang labing inila nga mga format una sa linya;
Ang mga operasyon sa pagbasa kanunay nga maka-output sa mga pixel sa RGB ug RGBA nga format;
Ang ubang mga codec makapagawas ug mga pixel sa mas dako pa nga listahan sa mga format;
Kadaghanan sa mga codec mahimo usab nga mag-output sa SOURCE pixels. Kini mapuslanon, pananglitan, alang niadtong gusto nga makakuha og bug-os nga impormasyon gikan sa CMYK o YCCK nga mga hulagway;
Pagbasa ug pagsulat sa mga profile sa ICC;
Mga pananglitan sa C, Qt, SDL;
Gisuportahan nga mga platform:
Windows (installer), macOS (brew) ug Linux (Debian).
Unsa ang wala gihatag sa SAIL:
Pag-edit sa hulagway;
Ang mga gimbuhaton sa pagbag-o sa kolor sa wanang gawas sa gihatag sa nagpahiping mga codec (libjpeg, ug uban pa);
Mga gimbuhaton sa pagdumala sa kolor (paggamit sa mga profile sa ICC, ug uban pa)
Ang pinakasimple nga pananglitan sa pag-decode sa C:
/*
* Dinhi iproseso ang nadawat nga mga pixel.
* Aron mahimo kini, gamita ang imahe-> gilapdon, imahe-> gitas-on, imahe->bytes_per_line,
* ug imahe->pixel_format.
*/
Newbie: "Gusto lang nako i-download kini nga JPEG"
Advanced: "Gusto nakong i-load kining animated GIF gikan sa memorya"
Deep sea diver: "Gusto nakong i-load kini nga animated GIF gikan sa memorya ug adunay bug-os nga kontrol sa mga codec ug pixel output nga akong gipili."
Technical Diver: "Gusto ko ang tanan sa ibabaw, ug ang akong kaugalingon nga tinubdan sa datos"
Direkta nga mga kakompetensya gikan sa parehas nga lugar:
Libre nga Hulagway
Yawa
SDL_Hulagway
WIC
imlib2
Boost.GIL
gdk-pixbuf
Mga kalainan sa ubang mga librarya:
Tawo nga API nga adunay gipaabut nga mga entidad - mga imahe, palette, ug uban pa.
Kadaghanan sa mga codec makahimo og labaw pa sa RGB/RGBA pixels.
Kadaghanan sa mga codec makahimo sa pag-output sa orihinal nga mga pixel nga walay pagkakabig sa RGB.
Mahimo nimong isulat ang mga codec sa bisan unsang lengguwahe, ug usab idugang / tangtangon kini nga walaβy pag-recompile sa tibuuk nga proyekto.
Pagtipig og impormasyon mahitungod sa orihinal nga hulagway.
Ang "Pagsusi" mao ang proseso sa pagkuha og impormasyon bahin sa usa ka hulagway nga walay pag-decode sa pixel data.