Maktabadda koodka sawirta SAIL ayaa diyaar ah

Hoosta shatiga MIT daabacay Maktabadda koodka wax ka beddeleysa ee madal-madaxeedka SAIL. SAIL waa dib u summaynta codecs-ka sawir-qaade aan la taageerin oo muddo dheer dib loogu qoray C KSquirrel, laakiin leh API aan la taaban karin oo heer sare ah iyo horumarro badan. Dhageystayaasha bartilmaameedka ah: daawadayaasha sawirka, horumarinta ciyaarta, ku rida sawirada xusuusta ujeedooyin kale. Maktabadu waa ay socotaa, laakiin waa la isticmaali karaa. Waafaqid binary iyo isha koodhka lama dammaanad qaadayo marxaladan horumarineed.

Noocyada:

  • Maktabad fudud, kooban oo degdeg ah oo ku qoran C oo aan ku tiirsanayn qolo saddexaad (marka laga reebo codecs);
  • Fudud, la fahmi karo oo isla markaa awood badan API ee dhammaan baahiyaha;
  • Xirmooyinka C++;
  • Qaababka sawirka waxaa taageera codecs si firfircoon u raran;
  • Akhri (oo qor) sawirada faylka, xusuusta, ama xitaa isha xogtaada;
  • Go'aaminta nooca sawirka iyada oo la kordhinayo faylka, ama iyada lambarka sixirka;
  • Qaababka hadda la taageero: png (akhri, Windows kaliya), JPEG (akhri, qor) PNG (akhri, qor).
    Shaqada ayaa socota si loogu daro qaabab cusub. KSquirrel-libs waxay taageereen ilaa 60 qaab ama qaab kale, qaababka ugu caansan ayaa ah marka hore safka;

  • Hawlgallada akhrinta waxay had iyo jeer soo saari karaan pixels qaabka RGB iyo RGBA;
  • Qaar ka mid ah codecs-yada waxay soo saari karaan pixels liis ka sii weyn oo qaabab ah;
  • Inta badan codec-yada sidoo kale waxay soo saari karaan pixels SOURCE. Tani waxay faa'iido u leedahay, tusaale ahaan, kuwa doonaya inay macluumaad buuxa ka helaan sawirada CMYK ama YCCK;
  • Akhrinta iyo qorista profiles ICC;
  • Tusaalooyinka C, Qt, SDL;
  • Goobaha la taageerayo:
    Windows (rakibaye), macOS (brew) iyo Linux (Debian).

Waxa SAIL aanu bixin:

  • Tafatirka sawirka;
  • Beddelka booska midabka wuxuu shaqeeyaa marka laga reebo kuwa ay bixiyaan codecyada hoose (libjpeg, iwm.);
  • Hawlaha maamulka midabka (isticmaalka astaanta ICC, iwm.)

Tusaalaha ugu fudud ee dejinta C:

struct shiraac_context * macnaha guud;

SAIL_TRY (sail_init (& macnaha guud));

qaabka shiraac_sawir *sawir;
char aan saxeexin *sawir_pixels;

SAIL_TRY (shiraac_akhris (wadada,
macnaha guud
&sawir,
(wax madhan **)&image_pixels));

/*
* Halkan ka baaraandega pixels-yada la helay.
Si tan loo sameeyo, isticmaal image->ballac, image->dhererka, image->bytes_per_line,
* iyo sawir->qaab_pixel.
*/

/* Nadiifinta */
bilaash ah (image_pixels);
shiraac_destroy_image (sawir);

Sharaxaada kooban ee heerarka API:

  • Newbie: "Waxaan rabaa in aan soo dejiyo JPEG-gan"
  • Sareeye: "Waxaan rabaa in aan GIF-gan xasuusta ka soo dejiyo"
  • Badbaadiyaha qoto dheer: "Waxaan rabaa inaan GIF-gan ka soo dejiyo xusuusta oo aan si buuxda u xakameeyo codec-yada iyo wax soo saarka pixel ee aan doorto."
  • Qulqulka Farsamada: "Waxaan rabaa wax kasta oo kor ku xusan, iyo isha xogtayda"

Tartamayaasha tooska ah ee isla aagga:

  • Sawirka Xorta ah
  • Ibliis
  • SDL_Sawirka
  • WIC
  • imlib2
  • Kobcinta.GIL
  • gdk-pixbuf

Kala duwanaanshaha maktabadaha kale:

  • API Human oo leh hay'ado la filayo - sawirro, palette, iwm.
  • Inta badan codec-yada waxay soo saari karaan wax ka badan pixels RGB/RGBA.
  • Inta badan codec-yada waxay soo saari karaan pixels asalka ah iyada oo aan loo beddelin RGB.
  • Waxaad ku qori kartaa codecs luqad kasta, sidoo kale waxaad ku dari kartaa/ka saari kartaa adiga oo aan dib u soo uruurin dhammaan mashruuca.
  • Ilaali macluumaadka ku saabsan sawirka asalka ah.
  • "Baaritaan" waa habka lagu helo macluumaadka ku saabsan sawirka iyada oo aan la xallin xogta pixel.
  • Cabbirka iyo xawaaraha.

Source: opennet.ru

Add a comment