āĻāĻŽāĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ
āĻ§ā§āĻ¨ā§
āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯:
- āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸āĻŋ-āĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻāĻāĻŋ āĻ¸āĻšāĻ, āĻāĻŽāĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ (āĻā§āĻĄā§āĻ āĻāĻžāĻĄāĻŧāĻž);
- āĻ¸āĻšāĻ, āĻŦā§āĻ§āĻāĻŽā§āĻ¯ āĻāĻŦāĻ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ API;
- C++ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ;
- āĻāĻŋāĻ¤ā§āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻ˛ā§āĻĄ āĻā§āĻĄā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ;
- āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛, āĻŽā§āĻŽāĻ°āĻŋ, āĻāĻŽāĻ¨āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĄā§āĻāĻž āĻā§āĻ¸ āĻĨā§āĻā§ āĻāĻŦāĻŋ āĻĒāĻĄāĻŧā§āĻ¨ (āĻāĻŦāĻ āĻ˛āĻŋāĻā§āĻ¨);
- āĻĢāĻžāĻāĻ˛ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨, āĻŦāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž
āĻāĻžāĻĻā§ āĻ¸āĻāĻā§āĻ¯āĻž ; - āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸:
āĻāĻĒāĻŋāĻāĻ¨āĻāĻŋ (āĻĒāĻĄāĻŧā§āĻ¨, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻ¨ā§āĻĄā§āĻ), JPEG (āĻĒāĻĄāĻŧā§āĻ¨, āĻ˛āĻŋāĻā§āĻ¨) PNG (āĻĒāĻĄāĻŧā§āĻ¨, āĻ˛āĻŋāĻā§āĻ¨)āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻžāĻ āĻāĻ˛āĻā§āĨ¤ KSquirrel-libs āĻā§āĻ¨ā§ āĻ¨āĻž āĻā§āĻ¨ā§āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 60āĻāĻŋ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻāĻā§āĻ˛ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻāĻ¨ā§ āĻ°āĻ¯āĻŧā§āĻā§; - āĻ°āĻŋāĻĄ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ RGB āĻāĻŦāĻ RGBA āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻā§ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§;
- āĻāĻŋāĻā§ āĻā§āĻĄā§āĻ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻāĻ°āĻ āĻŦāĻĄāĻŧ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§;
- āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻĄā§āĻ SOURCE āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛āĻ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻžāĻ°āĻž CMYK āĻŦāĻž YCCK āĻāĻŦāĻŋ āĻĨā§āĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯;
- āĻāĻāĻ¸āĻŋāĻ¸āĻŋ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻĒāĻĄāĻŧā§āĻ¨ āĻāĻŦāĻ āĻ˛āĻŋāĻā§āĻ¨;
- C, Qt, SDL-āĻāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ;
- āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ:
āĻāĻāĻ¨ā§āĻĄā§āĻ (āĻāĻ¨āĻ¸ā§āĻāĻ˛āĻžāĻ°), āĻŽā§āĻ¯āĻžāĻā§āĻ¸ (āĻŦā§āĻ°ā§) āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ (āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨)āĨ¤
SAIL āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¨āĻž:
- āĻāĻŦāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž;
- āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻā§āĻĄā§āĻ (libjpeg, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻĄāĻŧāĻž āĻ āĻ¨ā§āĻ¯ āĻ°āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻĢāĻžāĻāĻļāĻ¨;
- āĻ°āĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĢāĻžāĻāĻļāĻ¨ (āĻāĻāĻ¸āĻŋāĻ¸āĻŋ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)
āĻ¸āĻŋ-āĻ¤ā§ āĻĄāĻŋāĻā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
struct sail_context *āĻĒā§āĻ°āĻ¸āĻā§āĻ;
SAIL_TRY(sail_init(&context));
struct sail_image *āĻāĻŋāĻ¤ā§āĻ°;
āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŦāĻŋāĻšā§āĻ¨ āĻāĻ° *āĻāĻŦāĻŋ_āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛;
SAIL_TRY(āĻĒāĻžāĻ˛_āĻĒāĻĄāĻŧāĻž(āĻĒāĻĨ,
āĻĒā§āĻ°āĻ¸āĻā§āĻ
&āĻāĻŋāĻ¤ā§āĻ°,
(āĻ
āĻāĻžāĻ°ā§āĻ¯āĻāĻ° **)&image_pixels));
/*
* āĻāĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§āĻ¨āĨ¤
* āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŋāĻ¤ā§āĻ°->āĻĒā§āĻ°āĻ¸ā§āĻĨ, āĻāĻŋāĻ¤ā§āĻ°->āĻāĻā§āĻāĻ¤āĻž, āĻāĻŋāĻ¤ā§āĻ°->āĻŦāĻžāĻāĻ_āĻĒāĻžāĻ°_āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨,
* āĻāĻŦāĻ image->pixel_format.
*/
/* āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ° */
āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ (āĻāĻŦāĻŋ_āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛);
sail_destroy_image(āĻāĻŦāĻŋ);
API āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ:
- āĻ¨āĻŦāĻžāĻāĻ¤: "āĻāĻŽāĻŋ āĻļā§āĻ§ā§ āĻāĻ JPEG āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ"
- āĻāĻ¨ā§āĻ¨āĻ¤: "āĻāĻŽāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻĨā§āĻā§ āĻāĻ āĻ ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§āĻā§āĻĄ GIF āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ"
- āĻāĻā§āĻ° āĻ¸āĻŽā§āĻĻā§āĻ°ā§āĻ° āĻĄā§āĻŦā§āĻ°āĻŋ: "āĻāĻŽāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻĨā§āĻā§ āĻāĻ āĻ ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§āĻā§āĻĄ āĻāĻŋāĻāĻāĻāĻĢ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻŦā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻā§āĻĄā§āĻ āĻāĻŦāĻ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻā§āĻ° āĻāĻĒāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ°āĻžāĻāĻ¤ā§ āĻāĻžāĻāĨ¤"
- āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĄā§āĻŦā§āĻ°āĻŋ: "āĻāĻŽāĻŋ āĻāĻĒāĻ°ā§āĻ° āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĄā§āĻāĻž āĻā§āĻ¸ āĻāĻžāĻ"
āĻāĻāĻ āĻāĻ˛āĻžāĻāĻž āĻĨā§āĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻā§:
- āĻĢā§āĻ°āĻŋ āĻāĻŽā§āĻ
- āĻļāĻ¯āĻŧāĻ¤āĻžāĻ¨
- SDL_āĻāĻŦāĻŋ
- WIC
- imlib2
- āĻŦā§āĻ¸ā§āĻ.āĻāĻŋāĻāĻāĻāĻ˛
- gdk-pixbuf
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯:
- āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ¸āĻš āĻŽāĻžāĻ¨āĻŦ API - āĻāĻŦāĻŋ, āĻĒā§āĻ¯āĻžāĻ˛ā§āĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
- āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻĄā§āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° RGB/RGBA āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻĄā§āĻ RGB āĻ¤ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ¸āĻ˛ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻā§āĻ¨ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻā§āĻĄā§āĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŦāĻ āĻĒā§āĻ°ā§ āĻĒā§āĻ°āĻā§āĻā§āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻ¨āĻž āĻāĻ°ā§āĻ āĻāĻā§āĻ˛āĻŋ āĻ¯ā§āĻ/āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
- āĻŽā§āĻ˛ āĻāĻŦāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨.
- "āĻĒā§āĻ°ā§āĻŦāĻŋāĻ" āĻšāĻ˛ āĻĒāĻŋāĻā§āĻ¸ā§āĻ˛ āĻĄā§āĻāĻž āĻĄāĻŋāĻā§āĻĄ āĻ¨āĻž āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤
- āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻāĻ¤āĻŋāĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru