Janë botuar disa përditësime të mëdha në bibliotekën e dekodimit të imazheve SAIL, duke siguruar një rishkrim C të kodekëve nga shikuesi i imazheve KSquirrel i funksionuar prej kohësh, por me një API abstrakte të nivelit të lartë dhe përmirësime të shumta. Biblioteka është gati për përdorim, por është ende duke u përmirësuar vazhdimisht. Përputhshmëria binar dhe API nuk është ende e garantuar. Demonstrimi.
Karakteristikat e SAIL
- Bibliotekë e shpejtë dhe e lehtë për t'u përdorur;
- Shkruar në C11 me lidhje me C++17;
- Mbështetja për formatet e imazhit zbatohet nga kodekë të ngarkuar dinamikisht, të cilët mund të hiqen dhe shtohen në mënyrë të pavarur nga ana e klientit;
- Leximi nga skedari, memoria, burimet e veta;
- Mbështetje për imazhe me shumë faqe dhe të animuara;
- Mbështetja për formatet e njohura bëhet ende duke përdorur bibliotekat përkatëse libjpeg, libpng, etj.
- Ndër-platformë: Linux, Windows, macOS;
- "Probing" - marrja e informacionit në lidhje me një imazh pa dekodim pikselësh;
- Emrat e entiteteve njerëzore (pa FIMULTIBITMAP);
- Leximi dhe shkrimi i profileve të ICC;
- Dërgon pikselë RGBA ose BGRA;
- Kthen pikselat origjinalë (për shembull, CMYK) nëse mbështeten nga kodiku;
Lista e ndryshimeve që nga publikimi i fundit:
- API është përmirësuar dhe thjeshtuar ndjeshëm. Ishte: struct sail_context *context; SAIL_TRY(lundrimi_fillimi(&konteksti)); struct sail_image *image; karakter i panënshkruar *image_pixels; SAIL_TRY(lundrimi_leximi (rruga, konteksti, &imazhi, (i pavlefshëm **)&pikselët_image)); ...falas (image_pixels); lundroni_shkatërroj_imazhin(imazhin);
Tani: struct sail_image *image; SAIL_TRY(skedari_lexo_lundrimi(shtegu, &imazhi); ... lundrimi_shkatërrimi_image(imazhi);
- Formatet e shtuara BMP, GIF, TIFF;
- Disponueshmëria në VCPKG në të gjitha platformat përveç UWP;
- Testet standarde të performancës të publikuara;
- Lidhja C++ është zhvendosur në C++17;
- Funksionet e alokimit të memories mblidhen në një vend në mënyrë që ato të zëvendësohen lehtësisht me tuajat, por për momentin kjo mund të bëhet vetëm duke ripërpiluar;
- Përdoruesit tani mund të përdorin CMake find_package() për të lidhur SAIL;
- U shtua aftësia për të përpiluar në mënyrë statike (SAIL_STATIC=ON);
- U shtua aftësia për të përpiluar të gjithë kodekët në një bibliotekë të përbashkët (SAIL_COMBINE_CODECS=ON);
- Ka filluar puna për shtimin e testeve të bazuara në μnit;
Metoda e rekomanduar e instalimit
- Linux - vcpkg, rregullat e Debian janë gjithashtu të disponueshme
- Windows - vcpkg
- macOS - pije
Burimi: opennet.ru