Ukukhishwa komtapo wokukhipha amakhodi wesithombe i-SAIL 0.9.0-pre12

Izibuyekezo ezinkulu ezimbalwa zelabhulali yokuqopha izithombe ze-SAIL zishicilelwe, zihlinzeka ngokubhalwa kabusha kwe-C kwamakhodekhi avela kusibukeli sesithombe se-KSquirrel esaphelelwa isikhathi eside, kodwa nge-API engabonakali yezinga eliphezulu kanye nokuthuthukiswa okuningi. Umtapo wolwazi usulungele ukusetshenziswa, kodwa usathuthukiswa ngokuqhubekayo. Ukuhambisana kanambambili kanye ne-API akuqinisekisiwe okwamanje. Umboniso.

Izici ze-SAIL

  • Umtapo wolwazi uyashesha futhi kulula ukuwusebenzisa;
  • Ibhalwe ku-C11 futhi ibophezele ku-C++17;
  • Ukusekelwa kwamafomethi wesithombe kwenziwa ngama-codec alayishwe ngamandla, angasuswa futhi angezwe ngokuzimela ohlangothini lweklayenti;
  • Ukufunda kufayela, inkumbulo, imithombo siqu;
  • Ukusekelwa kwamakhasi amaningi kanye nezithombe ezinyakazayo;
  • Ukusekelwa kwamafomethi adumile kusasetshenziswa kusetshenziswa amalabhulali ahambisanayo libjpeg, libpng, njll.
  • I-Cross-platform: Linux, Windows, macOS;
  • β€œUkuhlola” - ukuthola ulwazi mayelana nesithombe ngaphandle kokuqopha amaphikseli;
  • Amagama ezinhlangano zabantu (ayikho iFIMULTIBITMAP);
  • Ukufunda nokubhala amaphrofayili e-ICC;
  • Ithumela amaphikseli e-RGBA noma e-BGRA;
  • Ibuyisela amaphikseli asekuqaleni (isibonelo, i-CMYK) uma isekelwa ikhodekhi;

Uhlu lwezinguquko kusukela ekushicilelweni kokugcina:

  • I-API ithuthukiswe kakhulu futhi yenziwa lula. Kwakuyi: struct sail_context *umongo; SAIL_TRY(sail_init(&context)); struct sail_image *isithombe; inhlamvu engasayiniwe *image_pixels; SAIL_TRY(sail_read(indlela, umongo, &isithombe, (okungenalutho **)&image_pixels)); ... mahhala(amaphikiseli_esithombe); sail_destroy_image(isithombe);

    Manje: hlela i-sail_image *image; SAIL_TRY(seyili_funda_ifayela(indlela, &isithombe); ... sail_destroy_image(isithombe);

  • Kungezwe amafomethi e-BMP, GIF, TIFF;
  • Ukutholakala ku-VCPKG kuwo wonke amapulatifomu ngaphandle kwe-UWP;
  • Ukuhlolwa kokusebenza kweBenchmark kushicilelwe;
  • Ukubophezela kwe-C++ kuhanjiswe ku-C++17;
  • Imisebenzi yokwabiwa kwememori iqoqwa endaweni eyodwa ukuze ishintshwe kalula ngeyakho, kodwa okwamanje lokhu kungenziwa kuphela ngokubuyisela;
  • Abasebenzisi manje bangasebenzisa i-CMake find_package() ukuxhuma i-SAIL;
  • Kwengezwe amandla okuhlanganisa ngokwezibalo (SAIL_STATIC=ON);
  • Kwengezwe ikhono lokuhlanganisa wonke ama-codec kumtapo wolwazi owodwa (SAIL_COMBINE_CODECS=ON);
  • Umsebenzi usuqalile wokwengeza izivivinyo ezisekelwe ku-Β΅nit;

Indlela yokufaka enconyiwe

  • I-Linux - vcpkg, imithetho ye-Debian nayo iyatholakala
  • Windows - vcpkg
  • macOS - yenza

Source: opennet.ru

Engeza amazwana