SAIL 0.9.0-pre12 rasm dekodlash kutubxonasining chiqarilishi

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

a Izoh qo'shish