सेल इमेज डीकोडिंग लायब्ररी उपलब्ध आहे

एमआयटी परवान्याअंतर्गत प्रकाशित क्रॉस-प्लॅटफॉर्म इमेज डीकोडिंग लायब्ररी सेल. SAIL हे C मध्‍ये पुन्‍हा लिहिलेल्‍या दीर्घ-असमर्थित इमेज व्‍यूअरमधून कोडेक्सचे रीब्रँडिंग आहे के स्क्वायरल, но с наличием высокоуровнего абстрактного API и многочисленными улучшениями. Целевая аудитория: просмотрщики изображений, разработка игр, загрузка изображений в память для иных целей. Библиотека находится в стадии разработки, но уже пригодна для использования. Бинарная совместимость и совместимость исходного кода на данном этапе разработки не гарантируется.

वैशिष्ट्ये:

  • तृतीय-पक्ष अवलंबनाशिवाय (कोडेक्स वगळता) C मध्ये लिहिलेली एक साधी, संक्षिप्त आणि जलद लायब्ररी;
  • सर्व गरजांसाठी सोपे, समजण्याजोगे आणि त्याच वेळी शक्तिशाली API;
  • C++ साठी बंधन;
  • इमेज फॉरमॅट डायनॅमिकली लोड केलेल्या कोडेक्सद्वारे समर्थित आहेत;
  • Чтение (и запись) изображений из файла, памяти или даже своего собственного источника данных;
  • Определение типа изображения по расширению файла, или по магическому числу;
  • सध्या समर्थित स्वरूपे: एपीएनजी (वाचा, फक्त विंडोज), जेपीईजी (वाचा, लिहा) पीएनजी (वाचा, लिहा).
    नवीन स्वरूप जोडण्याचे काम सुरू आहे. KSquirrel-libs ने एक ना एक प्रकारे सुमारे 60 फॉरमॅट्सना समर्थन दिले, सर्वात लोकप्रिय फॉरमॅट्स पहिल्या क्रमांकावर आहेत;

  • रीड ऑपरेशन्स नेहमी आरजीबी आणि आरजीबीए फॉरमॅटमध्ये पिक्सेल आउटपुट करू शकतात;
  • काही कोडेक्स फॉरमॅटच्या आणखी मोठ्या सूचीमध्ये पिक्सेल आउटपुट करू शकतात;
  • बहुतेक कोडेक SOURCE पिक्सेल देखील आउटपुट करू शकतात. हे उपयुक्त आहे, उदाहरणार्थ, ज्यांना CMYK किंवा YCCK प्रतिमांमधून संपूर्ण माहिती मिळवायची आहे त्यांच्यासाठी;
  • आयसीसी प्रोफाइल वाचणे आणि लिहिणे;
  • C, Qt, SDL मधील उदाहरणे;
  • समर्थित प्लॅटफॉर्म:
    विंडोज (इंस्टॉलर), मॅकओएस (ब्रू) आणि लिनक्स (डेबियन).

सेल काय प्रदान करत नाही:

  • प्रतिमा संपादन;
  • अंतर्निहित कोडेक्स (libjpeg, इ.) द्वारे प्रदान केलेल्या व्यतिरिक्त रंग स्पेस रूपांतरण कार्ये;
  • रंग व्यवस्थापन कार्ये (आयसीसी प्रोफाइलचा वापर इ.)

सी मधील डीकोडिंगचे सर्वात सोपे उदाहरण:

struct sail_context *संदर्भ;

SAIL_TRY(sail_init(& संदर्भ));

struct sail_image *image;
स्वाक्षरी न केलेले चार * image_pixels;

SAIL_TRY(sail_read(path,
संदर्भ,
&प्रतिमा,
(void **)&image_pixels));

/*
* येथे प्राप्त पिक्सेल प्रक्रिया करा.
* हे करण्यासाठी, प्रतिमा->रुंदी, प्रतिमा->उंची, प्रतिमा->बाइट्स_पर_लाइन वापरा,
* आणि image->pixel_format.
*/

/* साफसफाई */
विनामूल्य (इमेज_पिक्सेल);
sail_destroy_image(इमेज);

API स्तरांचे संक्षिप्त वर्णन:

  • नवशिक्या: "मला फक्त हे JPEG डाउनलोड करायचे आहे"
  • प्रगत: "मला हा अॅनिमेटेड GIF मेमरीमधून लोड करायचा आहे"
  • डीप सी डायव्हर: "मला हा अॅनिमेटेड GIF मेमरीमधून लोड करायचा आहे आणि मी निवडलेल्या कोडेक्स आणि पिक्सेल आउटपुटवर पूर्ण नियंत्रण ठेवायचे आहे."
  • तांत्रिक डायव्हर: "मला वरील सर्व काही हवे आहे आणि माझा स्वतःचा डेटा स्रोत"

त्याच क्षेत्रातील थेट प्रतिस्पर्धी:

  • फ्री इमेज
  • DevIL
  • SDL_Image
  • WIC
  • imlib2
  • बूस्ट.जीआयएल
  • gdk-pixbuf

इतर ग्रंथालयांपेक्षा फरक:

  • अपेक्षित घटकांसह मानवी API - प्रतिमा, पॅलेट इ.
  • बहुतेक कोडेक फक्त RGB/RGBA पिक्सेलपेक्षा जास्त आउटपुट करू शकतात.
  • बहुतेक कोडेक आरजीबीमध्ये रूपांतरण न करता मूळ पिक्सेल आउटपुट करू शकतात.
  • Писать кодеки можно на любом языке, а также добавлять/удалять их без перекомпиляции всего проекта.
  • Сохранение информации об исходном изображении.
  • “प्रोबिंग” ही पिक्सेल डेटा डीकोड न करता प्रतिमेबद्दल माहिती मिळवण्याची प्रक्रिया आहे.
  • आकार आणि गती.

स्त्रोत: opennet.ru

एक टिप्पणी जोडा