Kei te waatea te whare pukapuka whakawaehere whakaahua SAIL

I raro i te raihana MIT whakaputaina whare pukapuka whakawaehere whakaahua whakawhiti-whakawhiti SAIL. Ko te SAIL he tohu hou mo nga kotēkē mai i te kaitirotiro whakaahua kua roa kaore i tautokohia i tuhia ano ki C KSquirrel, engari me te API waitara taumata-tiketike me te maha o nga whakapainga. Te hunga whakarongo: nga kaimakitaki whakaahua, te whanaketanga keemu, te uta i nga whakaahua ki te mahara mo etahi atu kaupapa. Kei te whanakehia te whare pukapuka, engari kua taea te whakamahi. Ko te hototahitanga-rua me te waehere punaha kaore i te taurangi i tenei waahanga whanaketanga.

Ngā Āhuatanga:

  • He whare pukapuka ngawari, kiato me te tere kua tuhia ki te C me te kore e whakawhirinaki-tuatoru (haunga nga codec);
  • He maamaa, he maarama me te API kaha i te wa ano mo nga hiahia katoa;
  • Nga here mo C++;
  • Ko nga whakatakotoranga whakaahua e tautokohia ana e nga kotēkē e utaina ana;
  • Panui (ka tuhi) whakaahua mai i te konae, te mahara, me to ake puna raraunga;
  • Te whakatau i te momo ahua ma te toronga konae, ma te tau makutu;
  • Ngā hōputu e tautokohia ana ināianei: png (panui, Windows anake), JPEG (panui, tuhi) PNG (panui, tuhi).
    Kei te haere tonu te mahi ki te taapiri i nga whakatakotoranga hou. I tautokohia e KSquirrel-libs mo te 60 nga whakatakotoranga i tetahi huarahi, i tetahi atu ranei, ko nga whakatakotoranga tino rongonui kei te rarangi tuatahi;

  • Ka taea e nga mahi panui te whakaputa i nga pika ki te whakatakotoranga RGB me te RGBA;
  • Ka taea e etahi kotēkē te whakaputa pika i roto i te rarangi rahi ake o nga whakatakotoranga;
  • Ka taea hoki e te nuinga o nga kotēkē te whakaputa i nga pika SOURCE. He pai tenei, hei tauira, mo te hunga e hiahia ana ki te tiki korero katoa mai i nga whakaahua CMYK, YCCK ranei;
  • Te panui me te tuhi i nga korero a te ICC;
  • He tauira i C, Qt, SDL;
  • Nga papaaho tautoko:
    Windows (kaiwhakauta), macOS (brew) me Linux (Debian).

He aha te kore e whakaratohia e SAIL:

  • Whakatika whakaahua;
  • Ko nga mahi whakawhiti mokowā tae atu i ērā e whakaratohia ana e ngā kōtēke o raro (libjpeg, me ētahi atu);
  • Nga mahi whakahaere tae (whakamahi i nga korero ICC, me etahi atu)

Ko te tauira ngawari o te wetewete i te C:

struct sail_context * horopaki;

SAIL_TRY(sail_init(&horopaki));

struct sail_image *whakaahua;
char kaore i hainatia *image_pixels;

SAIL_TRY(ra_panui(ara,
horopaki,
&whakaahua,
(kore **)&image_pixels));

/*
* I konei tukatuka nga pika kua riro.
* Ki te mahi i tenei, whakamahia te ahua->whanui, whakaahua->teitei, whakaahua->paita_per_raina,
* me te ahua->pixel_format.
*/

/* Whakapai */
kore utu(image_pixels);
sail_destroy_image(image);

Whakaahuatanga poto mo nga taumata API:

  • Newbie: "Kei te hiahia noa ahau ki te tango i tenei JPEG"
  • Arā: "Kei te hiahia au ki te uta i tenei GIF pakiwaituhi mai i te mahara"
  • Te kairuku moana hohonu: "Kei te pirangi au ki te uta i tenei GIF pakiwaituhi mai i te mahara me te whai mana katoa ki nga kotēkē me te putanga pika ka tohua e au."
  • Kaituku Hangarau: "Kei te pirangi au ki nga mea katoa i runga ake nei, me taku ake puna raraunga"

Nga kaiwhakataetae tika mai i te waahi kotahi:

  • Atahanga Koreutu
  • DevIL
  • SDL_Whakaahua
  • WIC
  • imlib2
  • Whakanuia.GIL
  • gdk-pixbuf

Nga rereke mai i etahi atu whare pukapuka:

  • API tangata me nga hinonga e tumanakohia ana - whakaahua, papatae, aha atu.
  • Ko te nuinga o nga kotēkē ka taea te whakaputa neke atu i nga pika RGB/GBA noa.
  • Ka taea e te nuinga o nga codec te whakaputa i nga pika taketake me te kore e huri ki te RGB.
  • Ka taea e koe te tuhi i nga codec i roto i tetahi reo, me te taapiri / tango ano hoki me te kore e whakahiato i te kaupapa katoa.
  • Tiakina nga korero mo te ahua taketake.
  • Ko te "Te tirotiro" ko te mahi ki te tiki korero mo te ahua me te kore e wetewete i nga raraunga pika.
  • Te rahi me te tere.

Source: opennet.ru

Tāpiri i te kōrero