کتابخانه رمزگشایی تصویر SAIL 0.9.0-pre12

چندین به‌روزرسانی اصلی برای کتابخانه رمزگشایی تصویر SAIL منتشر شده است که یک بازنویسی C از کدک‌ها از نمایشگر تصویر KSquirrel که مدت‌ها کار کرده بود، اما با یک API انتزاعی سطح بالا و پیشرفت‌های متعدد ارائه می‌کند. کتابخانه آماده استفاده است، اما هنوز به طور مداوم در حال بهبود است. سازگاری باینری و API هنوز تضمین نشده است. تظاهرات.

ویژگی های SAIL

  • کتابخانه سریع و آسان برای استفاده؛
  • نوشته شده در C11 با اتصال به C++17.
  • پشتیبانی از فرمت های تصویر توسط کدک های بارگذاری شده به صورت پویا اجرا می شود که می توانند مستقل از سمت مشتری حذف و اضافه شوند.
  • خواندن از فایل، حافظه، منابع خود؛
  • پشتیبانی از تصاویر چند صفحه ای و متحرک.
  • پشتیبانی از فرمت های محبوب همچنان با استفاده از کتابخانه های مربوطه libjpeg، libpng و غیره انجام می شود.
  • کراس پلتفرم: لینوکس، ویندوز، macOS؛
  • "کاوش" - به دست آوردن اطلاعات در مورد یک تصویر بدون رمزگشایی پیکسل.
  • نام نهادهای انسانی (بدون FIMULTIBITMAP)؛
  • خواندن و نوشتن پروفایل های ICC.
  • پیکسل های RGBA یا BGRA را ارسال می کند.
  • اگر توسط کدک پشتیبانی شود، پیکسل های اصلی (به عنوان مثال، CMYK) را برمی گرداند.

فهرست تغییرات از آخرین انتشار:

  • API به طور قابل توجهی بهبود یافته و ساده شده است. بود: struct sail_context *context; SAIL_TRY(sail_init(&context)); ساختار sail_image *image; کاراکتر بدون علامت *image_pixels; SAIL_TRY(sail_read(مسیر، زمینه، &تصویر، (باطل **)&تصویر_پیکسل)); ... رایگان(تصویر_پیکسل); sail_destroy_image(image);

    اکنون: struct sail_image *image; SAIL_TRY(sail_read_file(path, &image); ... sail_destroy_image(image);

  • اضافه شدن فرمت های BMP، GIF، TIFF.
  • در دسترس بودن در VCPKG در همه سیستم عامل ها به جز UWP.
  • تست های عملکرد معیار منتشر شد.
  • اتصال C++ به C++17 منتقل شده است.
  • توابع تخصیص حافظه در یک مکان جمع آوری می شوند تا بتوان آنها را به راحتی با خود جایگزین کرد، اما در حال حاضر این کار فقط با کامپایل مجدد امکان پذیر است.
  • کاربران اکنون می توانند از CMake find_package() برای اتصال SAIL استفاده کنند.
  • قابلیت کامپایل استاتیک (SAIL_STATIC=ON) اضافه شده است.
  • قابلیت کامپایل همه کدک ها در یک کتابخانه مشترک (SAIL_COMBINE_CODECS=ON) را اضافه کرد.
  • کار بر روی افزودن آزمایش‌های مبتنی بر µnit آغاز شده است.

روش نصب توصیه شده

  • Linux - vcpkg، قوانین دبیان نیز در دسترس هستند
  • ویندوز - vcpkg
  • macOS - دم کردن

منبع: opennet.ru

اضافه کردن نظر