Ngaleupaskeun perpustakaan decoding gambar SAIL 0.9.0-pre12

Sababaraha apdet utama pikeun perpustakaan decoding gambar SAIL geus diterbitkeun, nyadiakeun C nulis balik codecs ti panempo gambar KSquirrel lila-defunct, tapi ku API abstrak tingkat luhur jeung sababaraha perbaikan. Perpustakaan geus siap dipaké, tapi masih keur terus ningkat. Kasaluyuan binér sareng API henteu acan dijamin. Démonstrasi.

Keunggulan SAIL

  • Perpustakaan gancang sareng gampang dianggo;
  • Ditulis dina C11 kalawan bindings ka C ++ 17;
  • Rojongan pikeun format gambar dilaksanakeun ku codecs dinamis dimuat, nu bisa dihapus sarta ditambahkeun bebas tina sisi klien;
  • Maca tina file, mémori, sumber sorangan;
  • Rojongan pikeun multi-kaca sareng gambar animasi;
  • Rojongan pikeun format populér masih dipigawé maké perpustakaan pakait libjpeg, libpng, jsb.
  • Cross-platform: Linux, Windows, macOS;
  • "Probing" - meunangkeun informasi ngeunaan hiji gambar tanpa decoding piksel;
  • Ngaran éntitas manusa (euweuh FIMULTIBTMAP);
  • Maca sareng nyerat profil ICC;
  • Ngirimkeun piksel RGBA atanapi BGRA;
  • Mulih piksel aslina (contona, CMYK) lamun dirojong ku codec;

Daptar parobahan saprak publikasi panungtungan:

  • API parantos ningkat sacara signifikan sareng disederhanakeun. Ieu: struct sail_context * konteks; SAIL_TRY (sail_init (& konteks)); struct sail_image *gambar; unsigned char *image_pixels; SAIL_TRY (sail_read (jalur, konteks, & gambar, (kosong **) & image_pixels)); ... bébas (gambar_piksel); sail_destroy_image(gambar);

    Ayeuna: struct sail_image * gambar; SAIL_TRY(sail_read_file (jalur, & gambar); ... sail_destroy_image (gambar);

  • Ditambahkeun format BMP, GIF, TIFF;
  • Kasadiaan dina VCPKG dina sadaya platform kecuali UWP;
  • tés kinerja patokan diterbitkeun;
  • C ++ mengikat geus dipindahkeun ka C ++ 17;
  • fungsi alokasi memori dikumpulkeun dina hiji tempat ambéh maranéhanana bisa gampang diganti ku anjeun sorangan, tapi di momen ieu ngan bisa dipigawé ku recompiling;
  • Pamaké ayeuna tiasa nganggo CMake find_package () pikeun nyambungkeun SAIL;
  • Ditambahkeun kamampuhan pikeun statically compile (SAIL_STATIC = ON);
  • Ditambahkeun kamampuhan pikeun ngumpulkeun sakabéh codecs kana hiji perpustakaan umum (SAIL_COMBINE_CODECS = ON);
  • Karya geus dimimitian pikeun nambahkeun tés basis µnit;

Disarankeun metoda instalasi

  • Linux - vcpkg, aturan Debian ogé sayogi
  • Windows - vcpkg
  • macOS - brew

sumber: opennet.ru

Tambahkeun komentar