Liberigo de bildmalkoda biblioteko SAIL 0.9.0-pre12

Pluraj signifaj ĝisdatigoj al la SAIL-bildmalkodbiblioteko estis publikigitaj, disponigante C reverkon de la kodekoj de la longe malfunkcia KSquirrel-bildspektilo, sed kun altnivela abstrakta API kaj multaj plibonigoj. La biblioteko estas preta por uzo, sed daŭre estas kontinue plibonigata. Duuma kaj API-kongruo ankoraŭ ne estas garantiita. Manifestacio.

Karakterizaĵoj de SAIL

  • Rapida kaj facile uzebla biblioteko;
  • Skribita en C11 kun ligadoj al C++17;
  • Subteno por bildformatoj estas efektivigita per dinamike ŝarĝitaj kodekoj kiuj povas esti forigitaj kaj aldonitaj sendepende de la klientflanko;
  • Legado el dosiero, memoro, propraj fontoj;
  • Subteno por plurpaĝaj kaj viglaj bildoj;
  • Subteno por popularaj formatoj ankoraŭ estas farita uzante la respondajn bibliotekojn libjpeg, libpng, ktp.
  • Multiplataforma: Linukso, Vindozo, macOS;
  • "Probing" - akiri informojn pri bildo sen malkodi pikselojn;
  • Homaj entaj nomoj (neniu FIMULTIBITMAP);
  • Legado kaj skribado de ICC-profiloj;
  • Sendas RGBA aŭ BGRA-pikselojn;
  • Resendas originalajn pikselojn (ekzemple, CMYK) se subtenata de la kodeko;

Listo de ŝanĝoj ekde lasta publikigo:

  • La API estis signife plibonigita kaj simpligita. Estis: struct sail_context *kunteksto; SAIL_PROVI(sail_init(&kunteksto)); struct sail_image *bildo; nesubskribita char *bildo_pikseloj; SAIL_TRY(vel_legi (vojo, kunteksto, &bildo, (void **)&bildo_pikseloj)); ...senpaga(bildo_pikseloj); vel_detrui_bildon(bildo);

    Nun: struct sail_image *bildo; SAIL_TRY(vel_legi_dosiero(vojo, &bildo); ... vel_detruy_image(bildo);

  • Aldonitaj formatoj BMP, GIF, TIFF;
  • Havebleco en VCPKG sur ĉiuj platformoj krom UWP;
  • Benchmark-efikectestoj publikigitaj;
  • C++-ligado estis movita al C++17;
  • Funkcioj de memor-atribuo estas kolektitaj en unu loko por ke ili povas esti facile anstataŭigitaj per via propra, sed nuntempe tio povas esti farita nur per rekompilado;
  • Uzantoj nun povas uzi CMake find_package() por konekti SAIL;
  • Aldonita la kapablo statike kompili (SAIL_STATIC=ON);
  • Aldonita la kapablo kompili ĉiujn kodekojn en unu komunan bibliotekon (SAIL_COMBINE_CODECS=ON);
  • Laboro komenciĝis pri aldono de µnit-bazitaj testoj;

Rekomendita instala metodo

  • Linukso - vcpkg, Debianaj reguloj ankaŭ haveblas
  • Vindozo - vcpkg
  • macOS - brew

fonto: opennet.ru

Aldoni komenton