Pubblicata la libreria di decodifica delle immagini SAIL 0.9.0-pre12

Sono state pubblicate diverse rilevanti aggiornamenti della libreria di decodifica delle immagini SAIL, che offre codecs riscritti in C provenienti dal dismesso visualizzatore di immagini KSquirrel, ma con un'API astratta di alto livello e numerosi miglioramenti. La libreria è pronta per l'uso, ma continua a essere migliorata. La compatibilità binaria e API non è ancora garantita. Dimostrazione.

Caratteristiche di SAIL

  • Libreria veloce e facile da usare;
  • Scritta in C11 con binding per C++17;
  • Il supporto per i formati delle immagini è implementato tramite codec caricabili dinamicamente, che possono essere aggiunti e rimossi indipendentemente dalla parte client;
  • Lettura da file, memoria, fonti proprie;
  • Supporto per immagini multitraccia e animate;
  • Il supporto per formati popolari è comunque effettuato tramite librerie corrispondenti come libjpeg, libpng, ecc.
  • Cross-platform: Linux, Windows, macOS;
  • Probing - ottenere informazioni sull'immagine senza decodificare i pixel;
  • Nomi umani per entità (niente FIMULTIBITMAP);
  • Lettura e scrittura di profili ICC;
  • Restituisce pixel RGBA o BGRA;
  • Restituisce pixel originali (ad esempio, CMYK) se supportati dal codec;

Elenco delle modifiche dalla pubblicazione precedente:

  • API notevolmente migliorata e semplificata. Era: struct sail_context *context; SAIL_TRY(sail_init(&context)); struct sail_image *image; unsigned char *image_pixels; SAIL_TRY(sail_read(path, context, (void **)&image, &image_pixels)); … free(image_pixels); sail_destroy_image(image);

    Diventato: struct sail_image *image; SAIL_TRY(sail_read_file(path, &image); … sail_destroy_image(image);

  • Aggiunti i formati BMP, GIF, TIFF;
  • Disponibilità in VCPKG su tutte le piattaforme tranne UWP;
  • Pubblicati test comparativi delle prestazioni;
  • Binding C++ aggiornato a C++17;
  • Le funzioni di allocazione della memoria sono state raccolte in un unico luogo, per facilitarne la sostituzione, ma attualmente questo può essere fatto solo ricompilando;
  • Gli utenti possono ora utilizzare CMake find_package() per collegare SAIL;
  • Aggiunta la possibilità di compilazione statica (SAIL_STATIC=ON);
  • Aggiunta la possibilità di compilare tutti i codec in un'unica libreria condivisa (SAIL_COMBINE_CODECS=ON);
  • Iniziati i lavori per aggiungere test basati su µnit;

Metodo di installazione consigliato

  • Linux — vcpkg, disponibili anche le regole Debian
  • Windows — vcpkg
  • macOS — brew

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster