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