SAIL 0.9.0-pre12 рдЗрдореЗрдЬ рдбреАрдХреЛрдбрд┐рдВрдЧ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреЗ рдкреНрд░рдХрд╛рд╢рди

SAIL рдЗрдореЗрдЬ рдбреАрдХреЛрдбрд┐рдВрдЧ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдЕрдиреЗрдХ рдкреНрд░рдореБрдЦ рдЕрджреНрдпрддрдиреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рджреАрд░реНрдШ-рдирд┐рдХрд╛рдореА KSquirrel рдЗрдореЗрдЬ рд╡реНрд╣реНрдпреВрдЕрд░рдордзреВрди рдХреЛрдбреЗрдХреНрд╕рдЪреЗ C рдкреБрдирд░реНрд▓реЗрдЦрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрдд API рдЖрдгрд┐ рдЕрдиреЗрдХ рд╕реБрдзрд╛рд░рдгрд╛рдВрд╕рд╣. рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддрд░реАрд╣реА рд╕рддрдд рд╕реБрдзрд╛рд░рдгрд╛ рдХреЗрд▓реА рдЬрд╛рдд рдЖрд╣реЗ. рдмрд╛рдпрдирд░реА рдЖрдгрд┐ API рд╕реБрд╕рдВрдЧрддрддрд╛ рдЕрджреНрдпрд╛рдк рд╣рдореА рдирд╛рд╣реА. рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ.

рд╕реЗрд▓рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ

  • рдЬрд▓рдж рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд▓рдн рд▓рд╛рдпрдмреНрд░рд░реА;
  • C11 рдордзреНрдпреЗ C++17 рдЪреНрдпрд╛ рдмрдВрдзрдирд╛рдВрд╕рд╣ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ;
  • рдЗрдореЗрдЬ рдлреЙрд░рдореЕрдЯрд╕рд╛рдареА рд╕рдорд░реНрдерди рдбрд╛рдпрдиреЕрдорд┐рдХрд▓реА рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдбреЗрдХреНрд╕рджреНрд╡рд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХрд╛рдврд▓реЗ рдЖрдгрд┐ рдЬреЛрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ;
  • рдлрд╛рдИрд▓, рдореЗрдорд░реА, рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рд╡рд╛рдЪрди;
  • рдорд▓реНрдЯреА-рдкреЗрдЬ рдЖрдгрд┐ рдЕреЕрдирд┐рдореЗрдЯреЗрдб рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди;
  • рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдпрдмреНрд░рд░реА libjpeg, libpng, рдЗрддреНрдпрд╛рджреА рд╡рд╛рдкрд░реВрди рд▓реЛрдХрдкреНрд░рд┐рдп рдлреЙрд░рдореЕрдЯрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЕрдЬреВрдирд╣реА рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
  • рдХреНрд░реЙрд╕-рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо: рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ, рдореЕрдХрдУрдПрд╕;
  • "рдкреНрд░реЛрдмрд┐рдВрдЧ" - рдкрд┐рдХреНрд╕реЗрд▓ рдбреАрдХреЛрдб рди рдХрд░рддрд╛ рдкреНрд░рддрд┐рдореЗрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рдгреЗ;
  • рдорд╛рдирд╡реА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдЪреА рдирд╛рд╡реЗ (FIMULTIBITMAP рдирд╛рд╣реА);
  • рдЖрдпрд╕реАрд╕реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╡рд╛рдЪрдгреЗ рдЖрдгрд┐ рд▓рд┐рд╣рд┐рдгреЗ;
  • RGBA рдХрд┐рдВрд╡рд╛ BGRA рдкрд┐рдХреНрд╕реЗрд▓ рдкрд╛рдард╡рддреЗ;
  • рдХреЛрдбреЗрдХрджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдореВрд│ рдкрд┐рдХреНрд╕реЗрд▓ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, CMYK) рдкрд░рдд рдХрд░рддреЗ;

рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдирдВрддрд░рдЪреНрдпрд╛ рдмрджрд▓рд╛рдВрдЪреА рдпрд╛рджреА:

  • API рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕реБрдзрд╛рд░рд┐рдд рдЖрдгрд┐ рд╕рд░рд▓реАрдХреГрдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рд╣реЛрддрд╛: struct sail_context *context; SAIL_TRY(sail_init(& рд╕рдВрджрд░реНрдн)); struct sail_image *рдЗрдореЗрдЬ; рд╕реНрд╡рд╛рдХреНрд╖рд░реА рди рдХреЗрд▓реЗрд▓реЗ рдЪрд╛рд░ * image_pixels; SAIL_TRY(sail_read(рдкрде, рд╕рдВрджрд░реНрдн, &image, (void **)&image_pixels)); ... рд╡рд┐рдирд╛рдореВрд▓реНрдп(рдЗрдореЗрдЬ_рдкрд┐рдХреНрд╕реЗрд▓); sail_destroy_image(рдЗрдореЗрдЬ);

    рдЖрддрд╛: struct sail_image *image; SAIL_TRY(sail_read_file(рдкрде, &image); ... sail_destroy_image(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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛