SAIL රූප විකේතන පුස්තකාලය ඇත

Под лицензией MIT පළ කර ඇත හරස් වේදිකා රූප විකේතනය පුස්තකාලය SAIL. SAIL යනු C හි නැවත ලියන ලද දිගුකාලීන සහය නොදක්වන රූප නරඹන්නෙකුගෙන් ලැබෙන කෝඩෙක්ස් නැවත සන්නාමකරණයකි. කේ. ලේනුන්, නමුත් ඉහළ මට්ටමේ වියුක්ත API සහ බොහෝ වැඩිදියුණු කිරීම් සමඟ. ඉලක්කගත ප්‍රේක්ෂකයින්: රූප නරඹන්නන්, ක්‍රීඩා සංවර්ධනය, වෙනත් අරමුණු සඳහා රූප මතකයට පැටවීම. පුස්තකාලය සංවර්ධනය වෙමින් පවතී, නමුත් දැනටමත් භාවිතා කළ හැකිය. මෙම සංවර්ධන අදියරේදී ද්විමය සහ ප්‍රභව කේත අනුකූලතාව සහතික නොවේ.

අවස්ථා:

  • තෙවන පාර්ශවීය පරායත්තතා නොමැතිව C වලින් ලියා ඇති සරල, සංයුක්ත සහ වේගවත් පුස්තකාලයක් (කෝඩෙක්ස් හැර);
  • සියලුම අවශ්‍යතා සඳහා සරල, තේරුම්ගත හැකි සහ ඒ සමඟම බලවත් API;
  • C++ සඳහා බන්ධන;
  • රූප ආකෘති ගතිකව පටවන ලද කෝඩෙක්ස් මගින් සහාය දක්වයි;
  • ගොනුවකින්, මතකයකින් හෝ ඔබේම දත්ත මූලාශ්‍රයකින් පවා පින්තූර කියවන්න (සහ ලියන්න);
  • ගොනු දිගුව හෝ විසින් රූප වර්ගය තීරණය කිරීම මැජික් අංකය;
  • දැනට සහය දක්වන ආකෘති: png (කියවීම, වින්ඩෝස් පමණි), JPEG (කියවීම, ලිවීම) PNG (කියවීම, ලිවීම).
    නව ආකෘති එකතු කිරීමට කටයුතු සිදු වෙමින් පවතී. KSquirrel-libs එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින් ආකෘති 60 ක් පමණ සහාය දක්වයි, වඩාත්ම ජනප්‍රිය ආකෘති පේළියේ පළමු වේ;

  • කියවීමේ මෙහෙයුම් සෑම විටම RGB සහ RGBA ආකෘතියෙන් පික්සල ප්‍රතිදානය කළ හැක;
  • සමහර කෝඩෙක්ස් වලට ඊටත් වඩා විශාල ආකෘති ලැයිස්තුවකින් පික්සල ප්‍රතිදානය කළ හැක;
  • බොහෝ කෝඩෙක්ස් වලට SOURCE පික්සල ප්‍රතිදානය කළ හැක. මෙය ප්‍රයෝජනවත් වේ, උදාහරණයක් ලෙස, CMYK හෝ YCCK පින්තූර වලින් සම්පූර්ණ තොරතුරු ලබා ගැනීමට කැමති අයට;
  • ICC පැතිකඩ කියවීම සහ ලිවීම;
  • C, Qt, SDL හි උදාහරණ;
  • ආධාරක වේදිකා:
    වින්ඩෝස් (ස්ථාපකය), macOS (brew) සහ Linux (Debian).

SAIL සපයන්නේ නැති දේ:

  • රූප සංස්කරණය;
  • යටින් පවතින කෝඩෙක්ස් (libjpeg, ආදිය) මගින් සපයන ලද ඒවා හැර වෙනත් වර්ණ අවකාශය පරිවර්තන කාර්යයන්;
  • වර්ණ කළමනාකරණ කාර්යයන් (ICC පැතිකඩ භාවිතය, ආදිය)

C හි විකේතනය කිරීමේ සරලම උදාහරණය:

struct sail_context *context;

SAIL_TRY(sail_init(&සන්දර්භය));

struct sail_image *රූපය;
unsigned char *image_pixels;

SAIL_TRY( රුවල්_කියවීම(මාර්ගය,
සන්දර්භය,
&රූප,
(හිස් **)&image_pixels));

/*
* මෙහිදී ලැබුණු පික්සල සකසන්න.
* මෙය සිදු කිරීම සඳහා, image->පළල, image->උස, image->bytes_per_line, භාවිතා කරන්න
* සහ රූපය-> පික්සෙල්_ආකෘතිය.
*/

/* ඉවර කරන්න */
නිදහස් (රූප_පික්සල්);
රුවල්_විනාශ_රූපය(රූපය);

API මට්ටම් පිළිබඳ කෙටි විස්තරය:

  • නවකයෙක්: "මට මේ JPEG බාගත කිරීමට අවශ්‍යයි"
  • උසස්: "මට මෙම සජීවිකරණ GIF මතකයෙන් පූරණය කිරීමට අවශ්‍යයි"
  • ගැඹුරු මුහුදේ කිමිදුම්කරු: "මට මෙම සජීවිකරණ GIF මතකයෙන් පූරණය කිරීමට අවශ්‍ය වන අතර මා තෝරා ගන්නා කෝඩෙක්ස් සහ පික්සල් ප්‍රතිදානය පිළිබඳ පූර්ණ පාලනයක් ඇත."
  • තාක්ෂණික කිමිදුම්කරු: "මට ඉහත සියල්ල සහ මගේම දත්ත මූලාශ්‍රය අවශ්‍යයි"

එකම ප්‍රදේශයේ සෘජු තරඟකරුවන්:

  • නිදහස් රූපය
  • යක්ෂයා
  • SDL_රූපය
  • WIC
  • imlib2
  • Boost.GIL
  • gdk-pixbuf

අනෙකුත් පුස්තකාල වලින් වෙනස්කම්:

  • අපේක්ෂිත ආයතන සහිත මානව API - රූප, පැලට්, ආදිය.
  • බොහෝ කෝඩෙක්ස් වලට RGB/RGBA පික්සල වලට වඩා ප්‍රතිදානය කළ හැක.
  • බොහෝ කෝඩෙක්ස් RGB වෙත පරිවර්තනය නොකර මුල් පික්සල ප්‍රතිදානය කළ හැක.
  • ඔබට ඕනෑම භාෂාවකින් කෝඩෙක්ස් ලිවිය හැකි අතර, සම්පූර්ණ ව්‍යාපෘතිය නැවත සම්පාදනය නොකර ඒවා එක් කිරීමට/ඉවත් කිරීමටද හැකිය.
  • මුල් රූපය පිළිබඳ තොරතුරු සංරක්ෂණය කරන්න.
  • "පරීක්ෂා කිරීම" යනු පික්සල් දත්ත විකේතනය නොකර රූපයක් පිළිබඳ තොරතුරු ලබා ගැනීමේ ක්‍රියාවලියයි.
  • ප්රමාණය සහ වේගය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න