MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд
рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ:
- рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдмрд┐рдирд╛ C рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рд╕рд░рд▓, рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рд░ рджреНрд░реБрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдХреЛрдбреЗрдХреНрд╕ рдмрд╛рд╣реЗрдХ);
- рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓, рдмреБрдЭреНрди рдпреЛрдЧреНрдп рд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА API;
- C++ рдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рдЗрдиреНрдбрд┐рдЩ;
- рдЫрд╡рд┐ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рд▓реЛрдб рдЧрд░рд┐рдПрдХрд╛ рдХреЛрдбреЗрдХрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдЫрдиреН;
- рдлрд╛рдЗрд▓, рдореЗрдореЛрд░реА, рд╡рд╛ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддрдмрд╛рдЯ рдЫрд╡рд┐рд╣рд░реВ рдкрдвреНрдиреБрд╣реЛрд╕реН (рд░ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН);
- рдлрд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди, рд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджреИ
рдЬрд╛рджреБрдИ рд╕рдВрдЦреНрдпрд╛ ; - рд╣рд╛рд▓ рд╕рдорд░реНрдерд┐рдд рдврд╛рдБрдЪрд╛рд╣рд░реВ:
png (рдкрдвреНрдиреБрд╣реЛрд╕реН, рд╡рд┐рдиреНрдбреЛрдЬ рдорд╛рддреНрд░), JPEG (рдкрдвреНрдиреБрд╣реЛрд╕реН, рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН) PNG (рдкрдвреНрдиреБрд╣реЛрд╕реН, рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН)ред
рдирдпрд╛рдБ рдврд╛рдБрдЪрд╛ рдердкреНрдиреЗ рдХрд╛рдо рднрдЗрд░рд╣реЗрдХреЛ рдЫред KSquirrel-libs рд▓реЗ рд▓рдЧрднрдЧ 60 рдврд╛рдБрдЪрд╛рд╣рд░реВрд▓рд╛рдИ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкрд╣рд┐рд▓реЛ рд▓рд╛рдЗрдирдорд╛ рдЫрдиреН; - рдкрдвреНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рд╕рдзреИрдВ RGB рд░ RGBA рдврд╛рдБрдЪрд╛рдорд╛ рдкрд┐рдХреНрд╕реЗрд▓рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ;
- рдХреЗрд╣реА рдХреЛрдбреЗрдХрд╣рд░реВрд▓реЗ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рдЕрдЭ рдареВрд▓реЛ рд╕реВрдЪреАрдорд╛ рдкрд┐рдХреНрд╕реЗрд▓рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН;
- рдзреЗрд░реИрдЬрд╕реЛ рдХреЛрдбреЗрдХрд╣рд░реВрд▓реЗ SOURCE рдкрд┐рдХреНрд╕реЗрд▓рд╣рд░реВ рдкрдирд┐ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред рдпреЛ рдЙрдкрдпреЛрдЧреА рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, CMYK рд╡рд╛ YCCK рдЫрд╡рд┐рд╣рд░реВрдмрд╛рдЯ рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐;
- ICC рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрдиреЗ рд░ рд▓реЗрдЦреНрдиреЗ;
- C, Qt, SDL рдорд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ;
- рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдорд╣рд░реБ:
рд╡рд┐рдиреНрдбреЛрдЬ (рдЗрдиреНрд╕реНрдЯрд▓рд░), macOS (рдмреНрд░реВ) рд░ рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди)ред
SAIL рд▓реЗ рдХреЗ рдкреНрд░рджрд╛рди рдЧрд░реНрджреИрди:
- рдЫрд╡рд┐ рд╕рдореНрдкрд╛рджрди;
- рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдбреЗрдХреНрд╕ (libjpeg, рдЖрджрд┐) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдмрд╛рд╣реЗрдХ рд░рдЩ рд╕реНрдкреЗрд╕ рд░реВрдкрд╛рдиреНрддрд░рдг рдХрд╛рд░реНрдпрд╣рд░реВ;
- рд░рдЩ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрд╛рд░реНрдпрд╣рд░реВ (рдЖрдИрд╕реАрд╕реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ, рдЖрджрд┐)
C рдорд╛ рдбрд┐рдХреЛрдбрд┐рдЩ рдХреЛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
struct sail_context *рд╕рдиреНрджрд░реНрдн;
SAIL_TRY(sail_init(&context));
struct sail_image *рдЫрд╡рд┐;
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ * image_pixels;
SAIL_TRY(sail_read(рдкрде,
рд╕рдиреНрджрд░реНрдн,
рдЫрд╡рд┐,
(void **)&image_pixels));
/*
* рдпрд╣рд╛рдБ рдкреНрд░рд╛рдкреНрдд рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
* рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЫрд╡рд┐-> рдЪреМрдбрд╛рдИ, рдЫрд╡рд┐-> рдЙрдЪрд╛рдЗ, рдЫрд╡рд┐-> рдмрд╛рдЗрдЯреНрд╕_рдкрд░_рд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН,
* рд░ image->pixel_formatред
*/
/* рд╕рдлрд╛ рдЧрд░реНрдиреБ */
рдирд┐: рд╢реБрд▓реНрдХ (рдЫрд╡рд┐_рдкрд┐рдХреНрд╕реЗрд▓);
sail_destroy_image(рдЫрд╡рд┐);
API рд╕реНрддрд░рд╣рд░реВрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг:
- рдирдпрд╛рдБ: "рдо рдпреЛ JPEG рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ"
- рдЙрдиреНрдирдд: "рдо рдореЗрдореЛрд░реАрдмрд╛рдЯ рдпреЛ рдПрдирд┐рдореЗрдЯреЗрдб GIF рд▓реЛрдб рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ"
- рдЧрд╣рд┐рд░реЛ рд╕рдореБрджреНрд░ рдЧреЛрддрд╛рдЦреЛрд░: "рдо рдореЗрдореЛрд░реАрдмрд╛рдЯ рдпреЛ рдПрдирд┐рдореЗрдЯреЗрдб GIF рд▓реЛрдб рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рд░ рдореИрд▓реЗ рд░реЛрдЬреЗрдХреЛ рдХреЛрдбреЗрдХреНрд╕ рд░ рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдЙрдЯрдкреБрдЯрдорд╛ рдкреВрд░реНрдг рдирд┐рдпрдиреНрддреНрд░рдг рд░рд╛рдЦреНрди рдЪрд╛рд╣рдиреНрдЫреБред"
- рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдЧреЛрддрд╛рдЦреЛрд░: "рдо рдорд╛рдерд┐рдХреЛ рд╕рдмреИ рдХреБрд░рд╛ рдЪрд╛рд╣рдиреНрдЫреБ, рд░ рдореЗрд░реЛ рдЖрдлреНрдиреИ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд"
рдПрдЙрдЯреИ рдХреНрд╖реЗрддреНрд░рдмрд╛рдЯ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреАрд╣рд░реВ:
- рдореБрдХреНрдд рдЫрд╡рд┐
- рд░рд╛рдХреНрд╖рд╕
- SDL_рдЫрд╡рд┐
- WIC
- imlib2
- Boost.GIL
- gdk-pixbuf
рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реБ рднрдиреНрджрд╛ рднрд┐рдиреНрдирддрд╛:
- рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдерд╛рд╣рд░реВ - рдЫрд╡рд┐рд╣рд░реВ, рдкреНрдпрд╛рд▓реЗрдЯрд╣рд░реВ, рдЗрддреНрдпрд╛рджрд┐рдХреЛ рд╕рд╛рде рдорд╛рдирд╡ APIред
- рдзреЗрд░реИрдЬрд╕реЛ рдХреЛрдбреЗрдХрд▓реЗ RGB/RGBA рдкрд┐рдХреНрд╕реЗрд▓ рднрдиреНрджрд╛ рдмрдвреА рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдЫред
- рдзреЗрд░реИ рдХреЛрдбреЗрдХрд╣рд░реВрд▓реЗ RGB рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдмрд┐рдирд╛ рдиреИ рдореВрд▓ рдкрд┐рдХреНрд╕реЗрд▓рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред
- рддрдкрд╛рдИрдВ рдХреБрдиреИ рдкрдирд┐ рднрд╛рд╖рд╛рдорд╛ рдХреЛрдбреЗрдХрд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рд╕рдореНрдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреБрди: рдХрдореНрдкрд╛рдЗрд▓ рдирдЧрд░реА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдердкреНрди/рд╣рдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
- рдореВрд▓ рдЫрд╡рд┐ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- "рдкреНрд░реЛрдмрд┐рдВрдЧ" рднрдиреЗрдХреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдбрд╛рдЯрд╛ рдбрд┐рдХреЛрдб рдирдЧрд░реА рдЫрд╡рд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛред
- рдЖрдХрд╛рд░ рд░ рдЧрддрд┐ред
рд╕реНрд░реЛрдд: opennet.ru