рд╕реЗрд▓ рдЗрдореЗрдЬ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ

рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЗрдореЗрдЬ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА SAILред рд╕реЗрд▓ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрд╕рдорд░реНрдерд┐рдд рдЫрд╡рд┐ рд╡реНрдпреВрдЕрд░ рд╕реЗ рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдбреЗрдХреНрд╕ рдХреА рд░реАрдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рд╣реИ рдХреЗрд╕рд░реЛрдЧреНрд░реЗрд▓, рд▓реЗрдХрд┐рди рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрдд рдПрдкреАрдЖрдИ рдФрд░ рдХрдИ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рдеред рд▓рдХреНрд╖рд┐рдд рджрд░реНрд╢рдХ: рдЫрд╡рд┐ рджрд░реНрд╢рдХ, рдЧреЗрдо рд╡рд┐рдХрд╛рд╕, рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдмрд╛рдЗрдирд░реА рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред

рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

  • рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ (рдХреЛрдбреЗрдХреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рдмрд┐рдирд╛ рд╕реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рд╕рд░рд▓, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рддреЗрдЬрд╝ рд▓рд╛рдЗрдмреНрд░реЗрд░реА;
  • рд╕рд░рд▓, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╕рд╛рде рд╣реА рд╕рднреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдкреАрдЖрдИ;
  • 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ