Izdanje biblioteke za dekodiranje slika SAIL 0.9.0-pre12

Objavljeno je nekoliko velikih ažuriranja SAIL biblioteke za dekodiranje slika, pružajući C prepisivanje kodeka iz davno nepostojećeg KSquirrel pregledača slika, ali sa apstraktnim API-jem visokog nivoa i brojnim poboljšanjima. Biblioteka je spremna za upotrebu, ali se i dalje kontinuirano poboljšava. Binarna i API kompatibilnost još nije zajamčena. Demonstracija.

Karakteristike SAIL-a

  • Brza i jednostavna biblioteka za korištenje;
  • Napisano na C11 sa vezama za C++17;
  • Podršku za formate slika implementiraju dinamički učitani kodeci, koji se mogu ukloniti i dodati nezavisno od strane klijenta;
  • Čitanje iz datoteke, memorije, vlastitih izvora;
  • Podrška za višestrane i animirane slike;
  • Podrška za popularne formate se i dalje vrši pomoću odgovarajućih biblioteka libjpeg, libpng, itd.
  • Više platformi: Linux, Windows, macOS;
  • “Probiranje” - dobijanje informacija o slici bez dekodiranja piksela;
  • Imena ljudskih entiteta (bez FIMULTIBITMAPA);
  • Čitanje i pisanje ICC profila;
  • Šalje RGBA ili BGRA piksele;
  • Vraća originalne piksele (na primjer, CMYK) ako ih kodek podržava;

Lista promjena od posljednjeg objavljivanja:

  • API je značajno poboljšan i pojednostavljen. Bilo je: struct sail_context *context; SAIL_TRY(sail_init(&kontekst)); struct sail_image *image; unsigned char *image_pixels; SAIL_TRY(sail_read(put, kontekst, &image, (void **)&image_pixels)); ...slobodno(pikseli_slika); sail_destroy_image(slika);

    Sada: struct sail_image *image; SAIL_TRY(sail_read_file(put, &image); ... sail_destroy_image(slika);

  • Dodani BMP, GIF, TIFF formati;
  • Dostupnost u VCPKG na svim platformama osim UWP;
  • Objavljeni testovi performansi;
  • C++ povezivanje je prebačeno na C++17;
  • Funkcije dodjele memorije su sakupljene na jednom mjestu tako da se mogu lako zamijeniti vašim, ali trenutno se to može učiniti samo ponovnim kompajliranjem;
  • Korisnici sada mogu koristiti CMake find_package() za povezivanje SAIL-a;
  • Dodata mogućnost statičkog kompajliranja (SAIL_STATIC=ON);
  • Dodata mogućnost kompajliranja svih kodeka u jednu zajedničku biblioteku (SAIL_COMBINE_CODECS=ON);
  • Počeo je rad na dodavanju testova zasnovanih na µnit;

Preporučeni način ugradnje

  • Linux - vcpkg, Debian pravila su također dostupna
  • Windows - vcpkg
  • macOS - brew

izvor: opennet.ru

Dodajte komentar