рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ (рдХреЛрдбреЗрдХреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рдмрд┐рдирд╛ рд╕реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рд╕рд░рд▓, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рддреЗрдЬрд╝ рд▓рд╛рдЗрдмреНрд░реЗрд░реА;
- рд╕рд░рд▓, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╕рд╛рде рд╣реА рд╕рднреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдкреАрдЖрдИ;
- C++ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ;
- рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдХреЛрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ;
- рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓, рдореЗрдореЛрд░реА, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕реЗ рдЫрд╡рд┐рдпрд╛рдВ рдкрдврд╝реЗрдВ (рдФрд░ рд▓рд┐рдЦреЗрдВ);
- рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджреНрд╡рд╛рд░рд╛, рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛
рдЬрд╛рджреБрдИ рд╕рдВрдЦреНрдпрд╛ ; - рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдкреНрд░рд╛рд░реВрдк:
рдПрдкреАрдПрдирдЬреА (рдкрдврд╝реЗрдВ, рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝), рдЬреЗрдкреАрдИрдЬреА (рдкрдврд╝реЗрдВ, рд▓рд┐рдЦреЗрдВ) рдкреАрдПрдирдЬреА (рдкрдврд╝реЗрдВ, рд▓рд┐рдЦреЗрдВ)ред
рдирдП рдкреНрд░рд╛рд░реВрдк рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ. KSquirrel-libs рдиреЗ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рд▓рдЧрднрдЧ 60 рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИ, рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╛рд░реВрдк рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реИрдВ; - рд░реАрдб рдСрдкрд░реЗрд╢рди рд╣рдореЗрд╢рд╛ рдЖрд░рдЬреАрдмреА рдФрд░ рдЖрд░рдЬреАрдмреАрдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд┐рдХреНрд╕рд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдХреБрдЫ рдХреЛрдбреЗрдХреНрд╕ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рдФрд░ рднреА рдмрдбрд╝реА рд╕реВрдЪреА рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдбреЗрдХреНрд╕ SOURCE рдкрд┐рдХреНрд╕реЗрд▓ рднреА рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реАрдПрдорд╡рд╛рдИрдХреЗ рдпрд╛ рд╡рд╛рдИрд╕реАрд╕реАрдХреЗ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ;
- рдЖрдИрд╕реАрд╕реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛;
- рд╕реА, рдХреНрдпреВрдЯреА, рдПрд╕рдбреАрдПрд▓ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг;
- рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо:
рд╡рд┐рдВрдбреЛрдЬрд╝ (рдЗрдВрд╕реНрдЯреЙрд▓рд░), рдореИрдХрдУрдПрд╕ (рдмреНрд░реВ) рдФрд░ рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди)ред
SAIL рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛:
- рдЫрд╡рд┐ рд╕рдВрдкрд╛рджрди;
- рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдбреЗрдХреНрд╕ (libjpeg, рдЖрджрд┐) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд░рдВрдЧ рд╕реНрдерд╛рди рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп;
- рд░рдВрдЧ рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдп (рдЖрдИрд╕реАрд╕реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЖрджрд┐)
C рдореЗрдВ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
рд╕рдВрд░рдЪрдирд╛ рдкрд╛рд▓_рд╕рдВрджрд░реНрдн *рд╕рдВрджрд░реНрдн;
SAIL_TRY(sAIL_init(&context));
рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд╕реЗрд▓_рдЗрдореЗрдЬ *рдЗрдореЗрдЬ;
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ * рдЫрд╡рд┐_рдкрд┐рдХреНрд╕реЗрд▓;
SAIL_TRY(рд╕реЗрд▓_рд░реАрдб(рдкрде,
рд╕рдВрджрд░реНрдн,
&рдЫрд╡рд┐,
(рд╢реВрдиреНрдп **)&image_рдкрд┐рдХреНрд╕реЗрд▓));
/*
* рдпрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдкрд┐рдХреНрд╕рд▓ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВред
* рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЫрд╡рд┐->рдЪреМрдбрд╝рд╛рдИ, рдЫрд╡рд┐->рдКрдВрдЪрд╛рдИ, рдЫрд╡рд┐->рдмрд╛рдЗрдЯреНрд╕_рдкрд░_рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
* рдФрд░ рдЫрд╡рд┐->рдкрд┐рдХреНрд╕реЗрд▓_рдкреНрд░рд╛рд░реВрдкред
*/
/* рд╕рд╛рдл - рд╕рдлрд╛рдИ */
рдореБрдлрд╝реНрдд(рдЫрд╡рд┐_рдкрд┐рдХреНрд╕реЗрд▓);
рдкрд╛рд▓_рдирд╖реНрдЯ_рдЫрд╡рд┐(рдЫрд╡рд┐);
рдПрдкреАрдЖрдИ рд╕реНрддрд░реЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг:
- рдиреМрд╕рд┐рдЦрд┐рдпрд╛: "рдореИрдВ рдмрд╕ рдпрд╣ JPEG рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ"
- рдЙрдиреНрдирдд: "рдореИрдВ рдЗрд╕ рдПрдирд┐рдореЗрдЯреЗрдб GIF рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ"
- рдЧрд╣рд░реЗ рд╕рдореБрджреНрд░ рдореЗрдВ рдЧреЛрддрд╛рдЦреЛрд░: "рдореИрдВ рдЗрд╕ рдПрдирд┐рдореЗрдЯреЗрдб GIF рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдХреЛрдбреЗрдХреНрд╕ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреВрд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред"
- рддрдХрдиреАрдХреА рдЧреЛрддрд╛рдЦреЛрд░: "рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рдм рдХреБрдЫ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореЗрд░рд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд"
рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА:
- FreeImage
- рд╢реИрддрд╛рди
- SDL_рдЫрд╡рд┐
- WIC
- imlib2
- рдмреВрд╕реНрдЯ.рдЬреАрдЖрдИрдПрд▓
- рдЬреАрдбреАрдХреЗ-рдкрд┐рдХреНрд╕рдмрдл
рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдЕрдВрддрд░:
- рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд╛рдирд╡ рдПрдкреАрдЖрдИ - рдЪрд┐рддреНрд░, рдкреИрд▓реЗрдЯ, рдЖрджрд┐ред
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдбреЗрдХреНрд╕ рдХреЗрд╡рд▓ RGB/RGBA рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдЙрдЯрдкреБрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдбреЗрдХреНрд╕ рдЖрд░рдЬреАрдмреА рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдмрд┐рдирд╛ рдореВрд▓ рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЖрдк рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдбреЗрдХреНрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝/рд╣рдЯрд╛ рднреА рд╕рдХрддреЗ рд╣реИрдВред
- рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ.
- "рдкреНрд░реЛрдмрд┐рдВрдЧ" рдкрд┐рдХреНрд╕реЗрд▓ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред
- рдЖрдХрд╛рд░ рдФрд░ рдЧрддрд┐.
рд╕реНрд░реЛрдд: opennet.ru