рдЫрд╡рд┐ рдбрд┐рдХреЛрдбрд┐рдЩ рд▓рд╛рдЗрдмреНрд░реЗрд░реА SAIL 0.9.0-pre12 рд░рд┐рд▓реАрдЬ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди