SAIL 0.9.0-pre12. Şəkil dekodlaşdırma kitabxanasının buraxılışı

SAIL təsvirin dekodlanması kitabxanasına bir neçə əhəmiyyətli yeniləmə nəşr olundu, bu, çoxdan fəaliyyət göstərməyən KSquirrel təsvir görüntüləyicisindən kodeklərin C-də yenidən yazılmasını təmin edir, lakin yüksək səviyyəli abstrakt API və çoxsaylı təkmilləşdirmələrlə. Kitabxana istifadəyə hazırdır, lakin davamlı olaraq təkmilləşdirilir. Binar və API uyğunluğuna hələ zəmanət verilmir. Nümayiş.

SAIL-in xüsusiyyətləri

  • Tez və istifadəsi asan kitabxana;
  • C++ 11-yə bağlamalarla C17-də yazılmışdır;
  • Şəkil formatlarına dəstək müştəri tərəfindən müstəqil olaraq çıxarıla və əlavə edilə bilən dinamik yüklənmiş kodeklər tərəfindən həyata keçirilir;
  • Fayldan, yaddaşdan, öz mənbələrindən oxumaq;
  • Çox səhifəli və animasiya şəkillərinə dəstək;
  • Populyar formatlara dəstək hələ də müvafiq libjpeg, libpng və s. kitabxanalardan istifadə etməklə həyata keçirilir.
  • Çarpaz platforma: Linux, Windows, macOS;
  • "Zodlama" - pikselləri deşifrə etmədən şəkil haqqında məlumat əldə etmək;
  • İnsan varlıq adları (FIMULTIBITMAP yoxdur);
  • ICC profillərini oxumaq və yazmaq;
  • RGBA və ya BGRA piksellərini göndərir;
  • Kodek tərəfindən dəstəklənirsə, orijinal pikselləri (məsələn, CMYK) qaytarır;

Son nəşrdən sonra dəyişikliklərin siyahısı:

  • API əhəmiyyətli dərəcədə təkmilləşdirilmiş və sadələşdirilmişdir. Oldu: struct sail_context *kontekst; SAIL_TRY(sail_init(&kontekst)); struct sail_image *şəkil; imzalanmamış simvol *şəkil_pikselləri; SAIL_TRY(sail_read(yol, kontekst, &şəkil, (boş **)&şəkil_pikselləri)); ...pulsuz(şəkil_pikselləri); sail_destroy_image(şəkil);

    İndi: struct sail_image *şəkil; SAIL_TRY(sail_read_file(yol, &şəkil); ... yelkən_məhv_şəkil(şəkil);

  • BMP, GIF, TIFF formatları əlavə edildi;
  • UWP istisna olmaqla, bütün platformalarda VCPKG-də mövcudluq;
  • Benchmark performans testləri dərc edildi;
  • C++ bağlaması C++ 17-ə köçürüldü;
  • Yaddaşın ayrılması funksiyaları bir yerdə toplanır ki, onlar asanlıqla öz funksiyanızla əvəz olunsun, lakin hazırda bu, yalnız yenidən tərtib etməklə edilə bilər;
  • İstifadəçilər indi SAIL-ə qoşulmaq üçün CMake find_package()-dən istifadə edə bilərlər;
  • Statik tərtib etmək imkanı əlavə edildi (SAIL_STATIC=ON);
  • Bütün kodekləri bir ümumi kitabxanaya toplamaq imkanı əlavə edildi (SAIL_COMBINE_CODECS=ON);
  • µnit-əsaslı testlərin əlavə edilməsi üzərində iş başlandı;

Tövsiyə olunan quraşdırma üsulu

  • Linux - vcpkg, Debian qaydaları da mövcuddur
  • Windows - vcpkg
  • macOS - dəmləmək

Mənbə: opennet.ru

Добавить комментарий