Rilis perpustakaan dekoding gambar SAIL 0.9.0-pre12

Saperangan nganyari penting kanggo perpustakaan dekoding gambar SAIL wis diterbitake, nyedhiyakake C nulis ulang codec saka panampil gambar KSquirrel sing wis suwe ora aktif, nanging kanthi API abstrak tingkat dhuwur lan akeh dandan. Perpustakaan wis siyap digunakake, nanging isih terus ditingkatake. Kompatibilitas binar lan API durung dijamin. Demonstrasi.

Fitur saka SAIL

  • Cepet lan gampang kanggo nggunakake perpustakaan;
  • Ditulis ing C11 karo bindings kanggo C ++ 17;
  • Dhukungan kanggo format gambar dileksanakake dening codec sing dimuat kanthi dinamis sing bisa dicopot lan ditambahake kanthi bebas saka sisih klien;
  • Maca saka file, memori, sumber dhewe;
  • Dhukungan kanggo gambar multi-kaca lan animasi;
  • Dhukungan kanggo format populer isih ditindakake nggunakake perpustakaan sing cocog libjpeg, libpng, lsp.
  • Cross-platform: Linux, Windows, macOS;
  • "Probing" - entuk informasi babagan gambar tanpa dekoding piksel;
  • Jeneng entitas manungsa (ora ana FIMULTIBTMAP);
  • Maca lan nulis profil ICC;
  • Ngirim piksel RGBA utawa BGRA;
  • Ngasilake piksel asli (contone, CMYK) yen didhukung dening codec;

Dhaptar owah-owahan wiwit publikasi pungkasan:

  • API wis apik lan simplified. Was: struct sail_context *konteks; SAIL_TRY(sail_init(&konteks)); struct sail_image *gambar; unsigned char *gambar_piksel; SAIL_TRY(sail_read(path, context, &image, (void **)&image_pixels)); ...gratis(piksel_gambar); sail_destroy_image(gambar);

    Saiki: struct sail_image *gambar; SAIL_TRY(sail_read_file(path, & gambar); ... sail_destroy_image(gambar);

  • Ditambahake format BMP, GIF, TIFF;
  • Kasedhiyan ing VCPKG ing kabeh platform kajaba UWP;
  • Tes kinerja benchmark diterbitake;
  • C ++ naleni wis dipindhah menyang C ++ 17;
  • Fungsi alokasi memori diklumpukake ing sak panggonan supaya bisa gampang diganti karo sampeyan dhewe, nanging ing wektu iki mung bisa ditindakake kanthi recompiling;
  • Pangguna saiki bisa nggunakake CMake find_package () kanggo nyambung SAIL;
  • Nambahake kemampuan kanggo kompilasi statis (SAIL_STATIC=ON);
  • Nambahake kemampuan kanggo ngumpulake kabeh codec menyang perpustakaan umum (SAIL_COMBINE_CODECS = ON);
  • Pakaryan wis diwiwiti kanggo nambah tes adhedhasar Β΅nit;

Cara instalasi sing disaranake

  • Linux - vcpkg, aturan Debian uga kasedhiya
  • Windows - vcpkg
  • macOS - brew

Source: opennet.ru

Add a comment