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