SAIL chithunzi decoding library likupezeka

Pansi pa MIT layisensi losindikizidwa cross-platform image decoding library SAIL. SAIL ndikusinthanso dzina la ma codec kuchokera kwa wowonera kwanthawi yayitali osathandizidwa omwe adalembedwanso mu C KSquirrel, koma ndi API yapamwamba kwambiri komanso zosintha zambiri. Omvera omwe mukufuna: owonera zithunzi, kukonza masewera, kuyika zithunzi m'makumbukidwe ndi zolinga zina. Laibulale ikukonzedwa, koma ikugwiritsidwa ntchito kale. Kugwirizana kwa ma code binary ndi magwero sikutsimikiziridwa panthawiyi yachitukuko.

Zida:

  • Laibulale yosavuta, yophatikizika komanso yachangu yolembedwa mu C yopanda zipani zachitatu (kupatula ma codec);
  • Zosavuta, zomveka komanso nthawi yomweyo API yamphamvu pazosowa zonse;
  • Zomangamanga za C ++;
  • Mawonekedwe azithunzi amathandizidwa ndi ma codec odzaza mwamphamvu;
  • Werengani (ndi kulemba) zithunzi kuchokera mufayilo, kukumbukira, kapenanso komwe mumachokera;
  • Kusankha mtundu wa fano powonjezera fayilo, kapena mwa nambala yamatsenga;
  • Mawonekedwe omwe athandizidwa pano: png (werengani, Mawindo okha), JPEG (werengani, lembani) PNG (werengani, lembani).
    Ntchito yowonjezera mawonekedwe atsopano ikuchitika. KSquirrel-libs imathandizidwa ndi mitundu pafupifupi 60 mwanjira ina, mitundu yotchuka kwambiri imakhala yoyamba pamzere;

  • Werengani ntchito zimatha kutulutsa ma pixel mu RGB ndi RGBA;
  • Ma codec ena amatha kutulutsa ma pixel mu mndandanda wokulirapo wamawonekedwe;
  • Ma codec ambiri amathanso kutulutsa ma pixel a SOURCE. Izi ndizothandiza, mwachitsanzo, kwa iwo omwe akufuna kudziwa zambiri kuchokera ku zithunzi za CMYK kapena YCCK;
  • Kuwerenga ndi kulemba mbiri ya ICC;
  • Zitsanzo mu C, Qt, SDL;
  • Anathandiza nsanja:
    Windows (okhazikitsa), macOS (brew) ndi Linux (Debian).

Zomwe SAIL sizipereka:

  • Kusintha kwazithunzi;
  • Ntchito zosinthira danga kupatula zomwe zimaperekedwa ndi ma codec (libjpeg, etc.);
  • Ntchito zoyang'anira mitundu (kugwiritsa ntchito mbiri ya ICC, etc.)

Chitsanzo chosavuta cha decoding mu C:

struct sail_context *context;

SAIL_TRY(sail_init(&context));

struct sail_image *chithunzi;
char osasainidwa * chithunzi_pixels;

SAIL_TRY(sail_read(njira,
nkhani,
&chithunzi,
(zopanda **)&image_pixels));

/*
* Apa konza ma pixel omwe adalandira.
* Kuti muchite izi, gwiritsani ntchito chithunzi-> m'lifupi, chithunzi-> kutalika, chithunzi->bytes_per_line,
* ndi chithunzi->pixel_format.
*/

/* Konza */
zaulere (zithunzi_pixels);
sail_destroy_image(chithunzi);

Kufotokozera mwachidule magawo a API:

  • Newbie: "Ndikufuna kutsitsa JPEG iyi"
  • Zotsogola: "Ndikufuna kutsitsa GIF yojambula iyi kuchokera pamtima"
  • Osambira m'madzi akuya: "Ndikufuna kuyika GIF yojambulayi kuchokera pamtima ndikukhala ndi mphamvu zowongolera ma codec ndi ma pixel omwe ndasankha."
  • Technical Diver: "Ndikufuna zonse pamwambapa, ndi gwero langa la data"

Opikisana nawo mwachindunji kuchokera kudera lomwelo:

  • FreeImage
  • Mdyerekezi
  • SDL_Image
  • WIC
  • imfa2
  • Boost.GIL
  • gdk-pixbuf

Kusiyana ndi malaibulale ena:

  • API yaumunthu yokhala ndi mabungwe omwe akuyembekezeka - zithunzi, mapaleti, ndi zina.
  • Ma codec ambiri amatha kutulutsa zambiri kuposa ma pixel a RGB/RGBA.
  • Ma codec ambiri amatha kutulutsa ma pixel oyambilira osasintha kukhala RGB.
  • Mutha kulemba ma codec m'chilankhulo chilichonse, ndikuwonjezera / kuchotsa popanda kubweza pulojekiti yonse.
  • Sungani zambiri za chithunzi choyambirira.
  • "Kufufuza" ndi njira yopezera zambiri za chithunzi popanda kuyika deta ya pixel.
  • Kukula ndi liwiro.

Source: opennet.ru

Kuwonjezera ndemanga