Biblioteka e dekodimit të imazheve SAIL 0.9.0-pre12 lëshimi

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

Shto një koment