SAIL рдЫрд╡рд┐ рдбрд┐рдХреЛрдбрд┐рдЩ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рдзреЗрд░реИ рдкреНрд░рдореБрдЦ рдЕрдкрдбреЗрдЯрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН, рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдирд┐рд╖реНрдХреНрд░рд┐рдп KSquirrel рдЫрд╡рд┐ рджрд░реНрд╢рдХрдмрд╛рдЯ рдХреЛрдбреЗрдХреНрд╕рдХреЛ C рдкреБрди:рд▓реЗрдЦрди рдкреНрд░рджрд╛рди рдЧрд░реНрджреИ, рддрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░рдХреЛ рд╕рд╛рд░ API рд░ рдзреЗрд░реИ рд╕реБрдзрд╛рд░рд╣рд░реВ рд╕рд╣рд┐рддред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫ, рддрд░ рдЕрдЭреИ рдкрдирд┐ рдирд┐рд░рдиреНрддрд░ рд╕реБрдзрд╛рд░ рднрдЗрд░рд╣реЗрдХреЛ рдЫред рдмрд╛рдЗрдирд░реА рд░ API рдЕрдиреБрдХреВрд▓рддрд╛ рдЕрдЭреИ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рдкреНрд░рджрд░реНрд╢рдиред
рд╕реЗрд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ
- рдЫрд┐рдЯреЛ рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп;
- C11 рдорд╛ C++17 рдорд╛ рдмрд╛рдЗрдиреНрдбрд┐рдЩ рд╕рд╣рд┐рдд рд▓реЗрдЦрд┐рдПрдХреЛ;
- рдЫрд╡рд┐ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдХреЛрдбреЗрдХрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕рд╛рдЗрдбрдмрд╛рдЯ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рд╣рдЯрд╛рдЙрди рд░ рдердкреНрди рд╕рдХрд┐рдиреНрдЫ;
- рдлрд╛рдЗрд▓, рдореЗрдореЛрд░реА, рдЖрдлреНрдиреИ рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдкрдвреНрджреИ;
- рдмрд╣реБ-рдкреГрд╖реНрда рд░ рдПрдирд┐рдореЗрдЯреЗрдб рдЫрд╡рд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди;
- рд▓реЛрдХрдкреНрд░рд┐рдп рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЕрдЭреИ рдкрдирд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ libjpeg, libpng, рдЖрджрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЧрд░рд┐рдиреНрдЫред
- рдХреНрд░рд╕-рдкреНрд▓реЗрдЯрдлрд░реНрдо: рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдиреНрдбреЛрдЬ, macOS;
- "рдкреНрд░реЛрдмрд┐рдЩ" - рдбрд┐рдХреЛрдбрд┐рдЩ рдкрд┐рдХреНрд╕реЗрд▓ рдмрд┐рдирд╛ рдЫрд╡рд┐ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ;
- рдорд╛рдирд╡ рдирд┐рдХрд╛рдпрдХрд╛ рдирд╛рдорд╣рд░реВ (FIMULTIBITMAP рдЫреИрди);
- ICC рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрдиреЗ рд░ рд▓реЗрдЦреНрдиреЗ;
- RGBA рд╡рд╛ BGRA рдкрд┐рдХреНрд╕реЗрд▓ рдкрдард╛рдЙрдБрдЫ;
- рдпрджрд┐ рдХреЛрдбреЗрдХрджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рднрдПрдорд╛ рдореВрд▓ рдкрд┐рдХреНрд╕реЗрд▓рд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, CMYK) рдлрд░реНрдХрд╛рдЙрдБрдЫ;
рдкрдЫрд┐рд▓реНрд▓реЛ рдкреНрд░рдХрд╛рд╢рди рдкрдЫрд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА:
- API рд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рд╕реБрдзрд╛рд░ рд░ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдерд┐рдпреЛ: struct sail_context *context; SAIL_TRY(sail_init(&context)); struct sail_image *рдЫрд╡рд┐; рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ * image_pixels; SAIL_TRY(sail_read(path, context, &image, (void **)&image_pixels)); ... рдирд┐: рд╢реБрд▓реНрдХ (рдЫрд╡рд┐_рдкрд┐рдХреНрд╕реЗрд▓); sail_destroy_image(рдЫрд╡рд┐);
рдЕрдм: struct sail_image * image; SAIL_TRY(sail_read_file(path, &image); ... sail_destroy_image(рдЫрд╡рд┐);
- рдердкрд┐рдпреЛ BMP, GIF, TIFF рдврд╛рдБрдЪрд╛рд╣рд░реВ;
- UWP рдмрд╛рд╣реЗрдХ рд╕рдмреИ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ VCPKG рдорд╛ рдЙрдкрд▓рдмреНрдзрддрд╛;
- рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд;
- C++ рдмрд╛рдЗрдиреНрдбрд┐рдЩ C++17 рдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫ;
- рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдПрдХ рдард╛рдЙрдБрдорд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░рд┐рдиреНрдЫ рддрд╛рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИрд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рдЕрд╣рд┐рд▓реЗ рдпреЛ рдкреБрди: рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реЗрд░ рдорд╛рддреНрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ;
- рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЕрдм SAIL рдЬрдбрд╛рди рдЧрд░реНрди CMake find_package() рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН;
- рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ (SAIL_STATIC=ON);
- рд╕рдмреИ рдХреЛрдбреЗрдХрд╣рд░реВ рдПрдХ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ (SAIL_COMBINE_CODECS=ON);
- ┬╡nit-рдЖрдзрд╛рд░рд┐рдд рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдердкреНрдиреЗ рдХрд╛рдо рд╕реБрд░реБ рднрдПрдХреЛ рдЫ;
рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐
- рд▓рд┐рдирдХреНрд╕ - vcpkg, рдбреЗрдмрд┐рдпрди рдирд┐рдпрдорд╣рд░реВ рдкрдирд┐ рдЙрдкрд▓рдмреНрдз рдЫрдиреН
- рд╡рд┐рдиреНрдбреЛрдЬ - vcpkg
- macOS - рдкреЗрдп
рд╕реНрд░реЛрдд: opennet.ru