Vydání knihovny pro dekódování obrázků SAIL 0.9.0-pre12

Bylo publikováno několik velkých aktualizací knihovny pro dekódování obrázků SAIL, které poskytují přepsání C kodeků z dávno zaniklého prohlížeče obrázků KSquirrel, ale s abstraktním API na vysoké úrovni a četnými vylepšeními. Knihovna je připravena k použití, ale stále se neustále vylepšuje. Binární a API kompatibilita zatím není zaručena. Demonstrace.

Vlastnosti SAIL

  • Rychlá a snadno použitelná knihovna;
  • Napsáno v C11 s vazbami na C++17;
  • Podpora obrazových formátů je realizována dynamicky načítanými kodeky, které lze odebírat a přidávat nezávisle na straně klienta;
  • Čtení ze souboru, paměti, vlastních zdrojů;
  • Podpora pro vícestránkové a animované obrázky;
  • Podpora populárních formátů se stále provádí pomocí odpovídajících knihoven libjpeg, libpng atd.
  • Víceplatformní: Linux, Windows, macOS;
  • „Probing“ - získávání informací o obrázku bez dekódování pixelů;
  • Jména lidských entit (bez FIMULTIBITMAP);
  • Čtení a zápis ICC profilů;
  • Odesílá RGBA nebo BGRA pixely;
  • Vrátí původní obrazové body (například CMYK), pokud to kodek podporuje;

Seznam změn od poslední publikace:

  • API bylo výrazně vylepšeno a zjednodušeno. Bylo: struct sail_context *context; SAIL_TRY(sail_init(&kontext)); struct sail_image *obrazek; unsigned char *image_pixels; SAIL_TRY(sail_read(cesta, kontext, &obrazek, (void **)&obrazkove_pixely)); ... free(image_pixels); sail_destroy_image(image);

    Nyní: struct sail_image *image; SAIL_TRY(sail_read_file(cesta, &obrazek); ... plachta_destroy_image(obrazek);

  • Přidány formáty BMP, GIF, TIFF;
  • Dostupnost ve VCPKG na všech platformách kromě UWP;
  • Zveřejněny srovnávací testy výkonu;
  • Vazba C++ byla přesunuta do C++17;
  • Funkce alokace paměti jsou shromážděny na jednom místě, takže je lze snadno nahradit vlastními, ale v tuto chvíli to lze provést pouze rekompilací;
  • Uživatelé nyní mohou použít CMake find_package() k připojení SAIL;
  • Přidána možnost statické kompilace (SAIL_STATIC=ON);
  • Přidána možnost zkompilovat všechny kodeky do jedné společné knihovny (SAIL_COMBINE_CODECS=ON);
  • Začaly práce na přidávání testů na bázi µnit;

Doporučený způsob instalace

  • Linux - vcpkg, pravidla Debianu jsou také k dispozici
  • Windows - vcpkg
  • macOS - vařit

Zdroj: opennet.ru

Přidat komentář