Knjižnica za dekodiranje slik SAIL 0.9.0-pre12 izdaja

Objavljenih je bilo več večjih posodobitev knjižnice za dekodiranje slik SAIL, ki zagotavljajo C prepis kodekov iz že dolgo nedelujočega pregledovalnika slik KSquirrel, vendar z visokonivojskim abstraktnim API-jem in številnimi izboljšavami. Knjižnica je pripravljena za uporabo, vendar se še vedno nenehno izboljšuje. Združljivost z binarnim programom in API-jem še ni zagotovljena. Demonstracija.

Značilnosti SAIL

  • Hitra in enostavna knjižnica za uporabo;
  • Napisano v C11 z vezavami na C++17;
  • Podpora za slikovne formate je implementirana z dinamično naloženimi kodeki, ki jih je mogoče odstraniti in dodati neodvisno od strani odjemalca;
  • Branje iz datoteke, pomnilnika, lastnih virov;
  • Podpora za večstranske in animirane slike;
  • Podpora za priljubljene formate se še vedno izvaja z uporabo ustreznih knjižnic libjpeg, libpng itd.
  • Več platform: Linux, Windows, macOS;
  • "Sondiranje" - pridobivanje informacij o sliki brez dekodiranja slikovnih pik;
  • Imena človeških entitet (brez FIMULTIBITMAP);
  • Branje in pisanje ICC profilov;
  • Pošilja slikovne pike RGBA ali BGRA;
  • Vrne izvirne slikovne pike (na primer CMYK), če jih podpira kodek;

Seznam sprememb od zadnje objave:

  • API je bil znatno izboljšan in poenostavljen. Bilo je: struct sail_context *kontekst; SAIL_TRY(sail_init(&kontekst)); struct sail_image *slika; unsigned char *piksli_slike; SAIL_TRY(sail_read(path, context, &image, (void **)&image_pixels)); ... brezplačno (piksli_slike); sail_destroy_image(slika);

    Zdaj: struct sail_image *image; SAIL_TRY(sail_read_file(path, &image); ... sail_destroy_image(image);

  • Dodani formati BMP, GIF, TIFF;
  • Razpoložljivost v VCPKG na vseh platformah razen UWP;
  • Objavljeni primerjalni testi zmogljivosti;
  • Vezava C++ je bila premaknjena v C++17;
  • Funkcije za dodeljevanje pomnilnika so zbrane na enem mestu, tako da jih je mogoče preprosto zamenjati s svojimi, vendar je to trenutno mogoče storiti le s ponovnim prevajanjem;
  • Uporabniki lahko zdaj uporabljajo CMake find_package() za povezavo SAIL;
  • Dodana možnost statičnega prevajanja (SAIL_STATIC=ON);
  • Dodana možnost prevajanja vseh kodekov v eno skupno knjižnico (SAIL_COMBINE_CODECS=ON);
  • Začelo se je delo na dodajanju testov, ki temeljijo na µnit;

Priporočen način namestitve

  • Na voljo so tudi pravila Linux - vcpkg, Debian
  • Windows - vcpkg
  • macOS - zvarek

Vir: opennet.ru

Dodaj komentar