SAIL myndafskráningarsafn í boði

Undir MIT leyfi birt kross-palla myndafkóðun bókasafn SAIL. SAIL er endurmerkt merkjamál frá löngu óstuddum myndskoðara endurskrifað í C KS íkorna, en með háu stigi abstrakt API og fjölmörgum endurbótum. Markhópur: myndáhorfendur, leikjaþróun, hleðsla myndum í minni í öðrum tilgangi. Safnið er í þróun en er nú þegar nothæft. Tvöfaldur og frumkóðasamhæfni er ekki tryggð á þessu stigi þróunar.

Lögun:

  • Einfalt, þétt og hratt bókasafn skrifað í C án ósjálfstæðis þriðja aðila (nema merkjamál);
  • Einfalt, skiljanlegt og á sama tíma öflugt API fyrir allar þarfir;
  • Binding fyrir C++;
  • Myndasnið eru studd af virk hlaðnum merkjamáli;
  • Lestu (og skrifaðu) myndir úr skrá, minni eða jafnvel þínum eigin gagnagjafa;
  • Ákvörðun myndargerðar með skráarlengingu eða eftir töfratala;
  • Núverandi studd snið: png (lesa, aðeins Windows), JPEG (lesa, skrifa) PNG (lesa, skrifa).
    Unnið er að því að bæta við nýjum sniðum. KSquirrel-libs studdu um 60 snið á einn eða annan hátt, vinsælustu sniðin eru fyrst í röðinni;

  • Lesaðgerðir geta alltaf gefið út punkta á RGB og RGBA sniði;
  • Sumir merkjamál geta gefið út punkta á enn stærri lista yfir snið;
  • Flestir merkjamál geta einnig gefið út SOURCE pixla. Þetta er gagnlegt, til dæmis fyrir þá sem vilja fá allar upplýsingar úr CMYK eða YCCK myndum;
  • Að lesa og skrifa ICC snið;
  • Dæmi í C, Qt, SDL;
  • Styður pallur:
    Windows (uppsetningarforrit), macOS (brugg) og Linux (Debian).

Það sem SAIL veitir ekki:

  • Myndvinnsla;
  • Aðgerðir umbreytingar litarýmis aðrar en þær sem undirliggjandi merkjamál bjóða upp á (libjpeg, osfrv.);
  • Litastjórnunaraðgerðir (notkun ICC prófíla osfrv.)

Einfaldasta dæmið um afkóðun í C:

struct sail_context *samhengi;

SAIL_TRY(sail_init(&samhengi));

struct sail_image *mynd;
óundirrituð bleikja *mynd_pixlar;

SAIL_TRY(sail_read(slóð,
samhengi,
&mynd,
(ógilt **)&image_pixels));

/*
* Vinnið hér úr mótteknum pixlum.
* Til að gera þetta, notaðu mynd->breidd, mynd->hæð, mynd->bæti_á_línu,
* og mynd->pixla_snið.
*/

/* Hreinsun */
ókeypis(mynd_pixlar);
sail_destroy_image(mynd);

Stutt lýsing á API stigum:

  • Nýliði: "Mig langar bara að hlaða niður JPEG"
  • Ítarlegt: "Ég vil hlaða þessum hreyfimynda-GIF úr minni"
  • Djúpsjávarkafari: „Ég vil hlaða þessu hreyfimynda-GIF úr minni og hafa fulla stjórn á merkjamálunum og pixlaúttakinu sem ég vel.
  • Tæknikafari: „Ég vil allt að ofan og minn eigin gagnagjafa“

Beinir keppendur frá sama svæði:

  • Frjáls mynd
  • DevIL
  • SDL_Mynd
  • WIC
  • imlib2
  • Boost.GIL
  • gdk-pixbuf

Mismunur frá öðrum bókasöfnum:

  • Human API með væntanlegum einingum - myndir, litatöflur osfrv.
  • Flestir merkjamál geta gefið út meira en bara RGB/RGBA pixla.
  • Flestir merkjamál geta gefið út upprunalega pixla án þess að breyta í RGB.
  • Þú getur skrifað merkjamál á hvaða tungumáli sem er, og einnig bætt við/fjarlægt þá án þess að setja saman allt verkefnið aftur.
  • Geymdu upplýsingar um upprunalegu myndina.
  • „Könnun“ er ferlið við að afla upplýsinga um mynd án þess að afkóða pixlagögnin.
  • Stærð og hraði.

Heimild: opennet.ru

Bæta við athugasemd