SAIL tasvirni dekodlash kutubxonasiga bir nechta asosiy yangilanishlar chop etildi, ular uzoq vaqtdan beri ishlamay qolgan KSquirrel tasvirni ko'rish dasturidan kodeklarni C qayta yozishni ta'minlaydi, ammo yuqori darajadagi mavhum API va ko'plab yaxshilanishlar bilan. Kutubxona foydalanishga tayyor, ammo doimiy ravishda takomillashtirilmoqda. Ikkilik va API muvofiqligi hali kafolatlanmagan. Namoyish.
SAIL xususiyatlari
- Tez va foydalanish uchun qulay kutubxona;
- C++ 11 ga bog'langan holda C17 tilida yozilgan;
- Tasvir formatlarini qo'llab-quvvatlash dinamik yuklangan kodeklar tomonidan amalga oshiriladi, ular mijoz tomonidan mustaqil ravishda olib tashlanishi va qo'shilishi mumkin;
- Fayl, xotira, o'z manbalaridan o'qish;
- Ko'p sahifali va animatsion tasvirlarni qo'llab-quvvatlash;
- Ommabop formatlarni qo'llab-quvvatlash hali ham mos keladigan libjpeg, libpng va boshqalar kutubxonalari yordamida amalga oshiriladi.
- O'zaro platformalar: Linux, Windows, macOS;
- "Probing" - piksellarni dekodlashsiz tasvir haqida ma'lumot olish;
- Inson shaxs nomlari (FIMULTIBITMAP yo'q);
- ICC profillarini o'qish va yozish;
- RGBA yoki BGRA piksellarini yuboradi;
- Agar kodek tomonidan qo'llab-quvvatlansa, asl piksellarni (masalan, CMYK) qaytaradi;
Oxirgi nashrdan keyin o'zgarishlar ro'yxati:
- API sezilarli darajada yaxshilandi va soddalashtirildi. Bu edi: struct sail_context *kontekst; SAIL_TRY(sail_init(&context)); struct sail_image *tasvir; unsigned char *image_pixels; SAIL_TRY(sail_read(yo'l, kontekst, &tasvir, (bo'sh **)&rasm_piksel)); ... bepul(tasvir_piksel); suzib_yo'q qilish_tasvir (tasvir);
Endi: struct sail_image *image; SAIL_TRY(sail_read_fayl(yo'l, &tasvir); ... suzib_yo'q qilish_tasvir(tasvir);
- BMP, GIF, TIFF formatlari qo'shildi;
- UWPdan tashqari barcha platformalarda VCPKGda mavjudligi;
- Benchmark ishlash testlari chop etildi;
- C++ ulanishi C++ 17 ga ko'chirildi;
- Xotirani ajratish funktsiyalari bir joyda to'plangan, shuning uchun ularni osongina o'zingizniki bilan almashtirish mumkin, ammo hozirda buni faqat qayta kompilyatsiya qilish orqali amalga oshirish mumkin;
- Foydalanuvchilar endi SAILga ulanish uchun CMake find_package() dan foydalanishlari mumkin;
- Statik kompilyatsiya qilish imkoniyati qo'shildi (SAIL_STATIC=ON);
- Barcha kodeklarni bitta umumiy kutubxonaga kompilyatsiya qilish imkoniyati qo'shildi (SAIL_COMBINE_CODECS=ON);
- Mikronitga asoslangan testlarni qo'shish bo'yicha ish boshlandi;
Tavsiya etilgan o'rnatish usuli
- Linux - vcpkg, Debian qoidalari ham mavjud
- Windows - vcpkg
- macOS - pishirish
Manba: opennet.ru