O lo'o avanoa le potutusi fa'avasega ata o le SAIL

I lalo ole laisene MIT lomia faletusi va'aiga va'aiga fa'avasega ata SAIL. O le SAIL o se toe fa'ailoga o codecs mai se tagata matamata ata ua leva ona le lagolagoina ua toe tusia i le C KSquirrel, ae faʻatasi ai ma se API faʻapitoa maualuga ma le tele o faʻaleleia. Tagata faʻamoemoe: tagata matamata ata, atinaʻeina o taʻaloga, faʻapipiʻiina ata i le mafaufau mo isi faʻamoemoega. O lo'o fa'atupuina le faletusi, ae ua fa'aaogaina. E le fa'amaonia le feso'ota'iga binary ma le source code i lenei la'asaga o le atina'e.

Vaega:

  • O se faletusi faigofie, fa'apitoa ma vave na tusia i le C e aunoa ma ni fa'alagolago i isi vaega (sei vagana codecs);
  • Faigofie, malamalama ma i le taimi lava e tasi mamana API mo manaoga uma;
  • Nonoa mo C++;
  • O fa'asologa o ata e lagolagoina e codec fa'apipi'iina fa'amalosi;
  • Faitau (ma tusi) ata mai se faila, manatua, poʻo lau lava faʻamatalaga faʻamatalaga;
  • Fuaina o le ituaiga ata e ala i le faʻalauteleina o faila, poʻo le numera fa'ataulāitu;
  • Fa'asologa o lo'o lagolagoina nei: png (faitau, Windows na'o), JPEG (faitau, tusi) PNG (faitau, tusi).
    O lo'o fa'agasolo galuega e fa'aopoopo ai fo'i ata fou. KSquirrel-libs lagolagoina e uiga i 60 formats i se tasi auala poʻo se isi, o le sili ona lauiloa formats muamua i le laina;

  • Faitau fa'agaioiga e mafai lava ona fa'aalia pixels i le RGB ma le RGBA format;
  • O nisi codecs e mafai ona fa'aalia pixels i se lisi sili atu o fa'atulagaga;
  • O le tele o codecs e mafai fo'i ona fa'aulu mai soURCE pika. E aoga lenei, mo se faʻataʻitaʻiga, mo i latou e fia maua faʻamatalaga atoa mai ata CMYK poʻo YCCK;
  • Faitau ma tusia fa'amatalaga ICC;
  • Faataitaiga i C, Qt, SDL;
  • Lagolago lagolago:
    Windows (installer), macOS (brew) ma Linux (Debian).

Le mea e le maua e SAIL:

  • Fa'atonu ata;
  • O galuega fa'aliliu avanoa lanu e ese mai i mea na tu'uina mai e codecs (libjpeg, ma isi);
  • Galuega fa'atonutonu lanu (fa'aaogā fa'amatalaga ICC, ma isi)

O le faʻataʻitaʻiga sili ona faigofie o le decoding i C:

struct sail_context *context;

SAIL_TRY(sail_init(&context));

struct sail_image * ata;
le fa'ailogaina char *image_pixels;

SAIL_TRY(sala_faitau(ala,
talaʻaga,
&ata,
(vale **)&image_pixels));

/*
* O iinei e faʻagasolo ai pika na maua.
* Ina ia faia lenei mea, faʻaaoga ata-> lautele, ata-> maualuga, ata-> bytes_per_line,
* ma ata->pixel_format.
*/

/* Fa'amama */
fua(image_pixels);
sail_destroy_image(ata);

Fa'amatalaga puupuu o tulaga API:

  • Newbie: "Na'o lo'u mana'o e sii maia lenei JPEG"
  • Avatu: "Ou te manaʻo e utaina lenei GIF animated mai le manatua"
  • Su'e loloto: "Ou te manaʻo e utaina lenei GIF animated mai le mafaufau ma maua le pule atoatoa i codecs ma pixel output ou te filifilia."
  • Technical Diver: "Ou te manaʻo i mea uma o loʻo i luga, ma aʻu lava faʻamaumauga"

Fa'atonu tagata tauva mai le eria lava e tasi:

  • Ata fua
  • Tiapolo
  • SDL_Ata
  • WIC
  • imlib2
  • Boost.GIL
  • gdk-pixbuf

Eseesega mai isi faletusi:

  • API tagata ma mea faʻamoemoeina - ata, paleti, ma isi.
  • O le tele o codecs e mafai ona fa'aulu mai nai lo na'o RGB/GBA pika.
  • Ole tele o codecs e mafai ona fa'auluina ulua'i pika e aunoa ma le liua ile RGB.
  • E mafai ona e tusia codecs i soʻo se gagana, ma faʻaopoopo / aveese i latou e aunoa ma le toe tuufaatasia o le galuega atoa.
  • Taofi faamatalaga e uiga i le ata muamua.
  • "Su'esu'e" o le faagasologa o le mauaina o faʻamatalaga e uiga i se ata e aunoa ma le faʻavasegaina o faʻamatalaga pika.
  • Tele ma le saoasaoa.

puna: opennet.ru

Faaopoopo i ai se faamatalaga