Release av bildavkodningsbibliotek SAIL 0.9.0-pre12

Flera viktiga uppdateringar har publicerats till SAIL-bildavkodningsbiblioteket, vilket ger en omskriven C-ommÀrkning av codecs frÄn den sedan lÀnge nedlagda KSquirrel-bildvisaren, men med ett abstrakt API pÄ hög nivÄ och mÄnga förbÀttringar. Biblioteket Àr klart att anvÀndas, men förbÀttras fortfarande kontinuerligt. BinÀr- och API-kompatibilitet Àr Ànnu inte garanterad. Demonstration.

Funktioner hos SAIL

  • Snabbt och lĂ€ttanvĂ€nt bibliotek;
  • Skrivet i C11 med bindningar till C++17;
  • Stöd för bildformat implementeras med dynamiskt laddade codecs som kan tas bort och lĂ€ggas till oberoende av klientsidan;
  • LĂ€sa frĂ„n fil, minne, egna kĂ€llor;
  • Stöd för flersidiga och animerade bilder;
  • Stöd för populĂ€ra format görs fortfarande med hjĂ€lp av motsvarande bibliotek libjpeg, libpng, etc.
  • Plattformsoberoende: Linux, Windows, macOS;
  • Probing Ă€r processen att erhĂ„lla information om en bild utan att avkoda pixlar;
  • MĂ€nskliga namn pĂ„ entiteter (ingen FIMULTIBITMAP);
  • LĂ€sa och skriva ICC-profiler;
  • Matar ut RGBA- eller BGRA-pixlar;
  • Returnerar ursprungliga pixlar (t.ex. CMYK) om det stöds av kodeken;

Lista över Àndringar sedan senaste publiceringen:

  • AvsevĂ€rt förbĂ€ttrat och förenklat API. Var: struct sail_context *kontext; SAIL_TRY(sail_init(&kontext)); struktur segel_bild *bild; osignerad char *bildpixlar; SAIL_TRY(sail_read(sökvĂ€g, kontext, &bild, (void **)&bildpixlar)); 
 fri(bildpixlar); segel_förstör_bild(bild);

    Nu: struct sail_image *image; SAIL_TRY(sail_read_file(sökvÀg, &image); ... sail_destroy_image(image);

  • Lade till BMP-, GIF- och TIFF-format;
  • TillgĂ€nglig i VCPKG pĂ„ alla plattformar utom UWP;
  • Publicerade prestandamĂ„tt;
  • C++-bindning har migrerats till C++17;
  • Minnesallokeringsfunktionerna Ă€r samlade pĂ„ ett stĂ€lle sĂ„ att de enkelt kan ersĂ€ttas med dina egna, men för nĂ€rvarande kan detta bara göras genom omkompilering;
  • AnvĂ€ndare kan nu anvĂ€nda CMake find_package() för att inkludera SAIL;
  • Lade till möjligheten att statiskt kompilera (SAIL_STATIC=ON);
  • Lade till möjligheten att kompilera alla codecs till ett gemensamt bibliotek (SAIL_COMBINE_CODECS=ON);
  • Arbetet har pĂ„börjats med att lĂ€gga till ”nit-baserade tester;

Rekommenderad installationsmetod

  • Linux — vcpkg, Ă€ven tillgĂ€nglig Debian regler
  • Windows — vcpkg
  • macOS — brygga

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster