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