Ua paʻi ʻia kekahi mau mea hou i ka hale waihona decoding kiʻi SAIL, e hāʻawi ana i kahi kākau hou C o nā codecs mai ka mea nānā kiʻi KSquirrel lōʻihi, akā me kahi API abstract kiʻekiʻe a me nā hoʻomaikaʻi he nui. Mākaukau ka waihona no ka hoʻohana ʻana, akā ke hoʻomaikaʻi mau ʻia nei. ʻAʻole i hōʻoia ʻia ka hoʻohālikelike ʻana i ka binary a me ka API. Hōʻike.
Nā hiʻohiʻona o SAIL
- ʻO ka hale waihona puke wikiwiki a maʻalahi hoʻi;
- Kākau ʻia ma C11 me nā paʻa i C++17;
- Hoʻokō ʻia ke kākoʻo no nā kiʻi kiʻi e nā codec i hoʻouka ʻia, hiki ke hoʻoneʻe ʻia a hoʻohui ʻia ma ka ʻaoʻao o ka mea kūʻai aku;
- Heluhelu mai ka waihona, hoʻomanaʻo, nā kumu ponoʻī;
- Kākoʻo no nā ʻaoʻao he nui a me nā kiʻi animated;
- Ke kākoʻo ʻia nei ke kākoʻo ʻana i nā palapala kaulana me ka hoʻohana ʻana i nā hale waihona puke libjpeg, libpng, etc.
- Paena kea: Linux, Windows, macOS;
- "Probing" - ka loaʻa ʻana o ka ʻike e pili ana i kahi kiʻi me ka ʻole decoding pixels;
- Nā inoa hui kanaka (ʻaʻohe FIMULTIBTMAP);
- Heluhelu a kākau i nā moʻolelo ICC;
- Hoʻouna i nā pixels RGBA a i ʻole BGRA;
- Hoʻihoʻi i nā pika kumu (no ka laʻana, CMYK) inā kākoʻo ʻia e ke codec;
Ka papa inoa o nā hoʻololi mai ka hoʻopuka hope ʻana:
- Ua hoʻomaikaʻi maikaʻi ʻia ka API a maʻalahi. ʻO ia: struct sail_context *context; SAIL_TRY(sail_init(&context)); struct sail_image *kiʻi; char unsigned *image_pixels; SAIL_TRY(sail_read(ala, pōʻaiapili, &kiʻi, (ʻole **)&kiʻi_pixels)); ... manuahi(image_pixels); sail_destroy_image(kiʻi);
Ano: struct sail_image *kiʻi; SAIL_TRY(sail_read_file(ala, & kiʻi); ... sail_destroy_image(kiʻi);
- Hoʻohui ʻia nā palapala BMP, GIF, TIFF;
- Loaʻa ma VCPKG ma nā kahua āpau koe wale nō ʻo UWP;
- Paʻi ʻia nā hōʻike hoʻokō ʻo Benchmark;
- Ua hoʻoneʻe ʻia ka paʻa C++ i C++17;
- ʻOhi ʻia nā hana hoʻokaʻawale hoʻomanaʻo ma kahi hoʻokahi i hiki ke maʻalahi ke hoʻololi ʻia me kāu ponoʻī, akā i kēia manawa hiki ke hana ʻia ma ka hoʻopili hou ʻana;
- Hiki i nā mea hoʻohana ke hoʻohana iā CMake find_package() e hoʻopili iā SAIL;
- Hoʻohui i ka hiki ke hoʻopili statically (SAIL_STATIC=ON);
- Hoʻohui i ka hiki ke hōʻuluʻulu i nā codec a pau i loko o kahi waihona maʻamau (SAIL_COMBINE_CODECS=ON);
- Ua hoʻomaka ka hana ma ka hoʻohui ʻana i nā hoʻokolohua µnit;
Paipai ʻia ke ʻano hoʻonohonoho
- Linux - vcpkg, loaʻa pū nā lula Debian
- Windows - vcpkg
- macOS - hoʻoinu
Source: opennet.ru