SAIL ಇಮೇಜ್ ಡಿಕೋಡಿಂಗ್ ಲೈಬ್ರರಿ ಲಭ್ಯವಿದೆ

MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಗಿದೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಇಮೇಜ್ ಡಿಕೋಡಿಂಗ್ ಲೈಬ್ರರಿ SAIL. SAIL ಎಂಬುದು ದೀರ್ಘ-ಬೆಂಬಲವಿಲ್ಲದ ಚಿತ್ರ ವೀಕ್ಷಕದಿಂದ ಕೊಡೆಕ್‌ಗಳ ಮರುಬ್ರಾಂಡಿಂಗ್ ಆಗಿದೆ, ಇದನ್ನು C ನಲ್ಲಿ ಪುನಃ ಬರೆಯಲಾಗಿದೆ ಕೆ.ಎಸ್.ಕ್ವಿರೆಲ್, ಆದರೆ ಉನ್ನತ ಮಟ್ಟದ ಅಮೂರ್ತ API ಮತ್ತು ಹಲವಾರು ಸುಧಾರಣೆಗಳೊಂದಿಗೆ. ಗುರಿ ಪ್ರೇಕ್ಷಕರು: ಚಿತ್ರ ವೀಕ್ಷಕರು, ಆಟದ ಅಭಿವೃದ್ಧಿ, ಇತರ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಚಿತ್ರಗಳನ್ನು ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡುವುದು. ಗ್ರಂಥಾಲಯವು ಅಭಿವೃದ್ಧಿ ಹಂತದಲ್ಲಿದೆ, ಆದರೆ ಈಗಾಗಲೇ ಬಳಸಬಹುದಾಗಿದೆ. ಅಭಿವೃದ್ಧಿಯ ಈ ಹಂತದಲ್ಲಿ ಬೈನರಿ ಮತ್ತು ಮೂಲ ಕೋಡ್ ಹೊಂದಾಣಿಕೆಯು ಖಾತರಿಯಿಲ್ಲ.

ಅವಕಾಶಗಳು:

  • ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಅವಲಂಬನೆಗಳಿಲ್ಲದೆ (ಕೊಡೆಕ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ) C ನಲ್ಲಿ ಬರೆಯಲಾದ ಸರಳ, ಸಾಂದ್ರವಾದ ಮತ್ತು ವೇಗದ ಲೈಬ್ರರಿ;
  • ಎಲ್ಲಾ ಅಗತ್ಯಗಳಿಗಾಗಿ ಸರಳ, ಅರ್ಥವಾಗುವ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ಶಕ್ತಿಯುತ API;
  • C++ ಗಾಗಿ ಬೈಂಡಿಂಗ್‌ಗಳು;
  • ಚಿತ್ರ ಸ್ವರೂಪಗಳು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಲೋಡ್ ಮಾಡಲಾದ ಕೊಡೆಕ್‌ಗಳಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ;
  • ಫೈಲ್, ಮೆಮೊರಿ, ಅಥವಾ ನಿಮ್ಮ ಸ್ವಂತ ಡೇಟಾ ಮೂಲದಿಂದ ಚಿತ್ರಗಳನ್ನು ಓದಿ (ಮತ್ತು ಬರೆಯಿರಿ);
  • ಫೈಲ್ ವಿಸ್ತರಣೆ ಅಥವಾ ಮೂಲಕ ಚಿತ್ರದ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸುವುದು ಮ್ಯಾಜಿಕ್ ಸಂಖ್ಯೆ;
  • ಪ್ರಸ್ತುತ ಬೆಂಬಲಿತ ಸ್ವರೂಪಗಳು: ಎಪಿಎನ್‌ಜಿ (ಓದಲು, ವಿಂಡೋಸ್ ಮಾತ್ರ), JPEG (ಓದಲು, ಬರೆಯಲು) PNG (ಓದಲು, ಬರೆಯಲು).
    Работа по добавлению новых форматов ведётся. KSquirrel-libs так или иначе поддерживал около 60 форматов, наиболее популярные форматы стоят в очереди первыми;

  • ಓದುವ ಕಾರ್ಯಾಚರಣೆಗಳು ಯಾವಾಗಲೂ RGB ಮತ್ತು RGBA ಸ್ವರೂಪದಲ್ಲಿ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು;
  • ಕೆಲವು ಕೊಡೆಕ್‌ಗಳು ಇನ್ನೂ ದೊಡ್ಡ ಸ್ವರೂಪಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು;
  • ಹೆಚ್ಚಿನ ಕೊಡೆಕ್‌ಗಳು SOURCE ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಸಹ ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು. ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, CMYK ಅಥವಾ YCCK ಚಿತ್ರಗಳಿಂದ ಪೂರ್ಣ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಬಯಸುವವರಿಗೆ;
  • ICC ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಓದುವುದು ಮತ್ತು ಬರೆಯುವುದು;
  • C, Qt, SDL ನಲ್ಲಿ ಉದಾಹರಣೆಗಳು;
  • ಬೆಂಬಲಿತ ವೇದಿಕೆಗಳು:
    ವಿಂಡೋಸ್ (ಸ್ಥಾಪಕ), ಮ್ಯಾಕೋಸ್ (ಬ್ರೂ) ಮತ್ತು ಲಿನಕ್ಸ್ (ಡೆಬಿಯನ್).

SAIL ಏನು ಒದಗಿಸುವುದಿಲ್ಲ:

  • ಚಿತ್ರ ಸಂಪಾದನೆ;
  • ಆಧಾರವಾಗಿರುವ ಕೊಡೆಕ್‌ಗಳು (libjpeg, ಇತ್ಯಾದಿ) ಒದಗಿಸಿದ ಹೊರತುಪಡಿಸಿ ಬಣ್ಣದ ಸ್ಥಳ ಪರಿವರ್ತನೆ ಕಾರ್ಯಗಳು;
  • ಬಣ್ಣ ನಿರ್ವಹಣೆ ಕಾರ್ಯಗಳು (ಐಸಿಸಿ ಪ್ರೊಫೈಲ್‌ಗಳ ಬಳಕೆ, ಇತ್ಯಾದಿ.)

C ನಲ್ಲಿ ಡಿಕೋಡಿಂಗ್ ಮಾಡುವ ಸರಳ ಉದಾಹರಣೆ:

ಸ್ಟ್ರಕ್ಟ್ ಸೈಲ್_ಸಂದರ್ಭ *ಸಂದರ್ಭ;

SAIL_TRY(sail_init(&ಸಂದರ್ಭ));

ಸ್ಟ್ರಕ್ಟ್ ಸೈಲ್_ಇಮೇಜ್ * ಇಮೇಜ್;
ಸಹಿ ಮಾಡದ ಚಾರ್ *image_pixels;

SAIL_TRY(ಸೇಲ್_ರೀಡ್(ಮಾರ್ಗ,
ಸಂದರ್ಭ,
&ಚಿತ್ರ,
(ಅನೂರ್ಜಿತ **)&image_pixels));

/*
* ಇಲ್ಲಿ ಸ್ವೀಕರಿಸಿದ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ.
* ಇದನ್ನು ಮಾಡಲು, ಇಮೇಜ್->ಅಗಲ, ಚಿತ್ರ->ಎತ್ತರ, ಚಿತ್ರ->ಬೈಟ್ಸ್_ಪರ್_ಲೈನ್,
* ಮತ್ತು ಚಿತ್ರ-> ಪಿಕ್ಸೆಲ್_ಫಾರ್ಮ್ಯಾಟ್.
*/

/* ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆ */
ಉಚಿತ (image_pixels);
ಸೈಲ್_ಡೆಸ್ಟ್ರಾಯ್_ಇಮೇಜ್ (ಚಿತ್ರ);

API ಹಂತಗಳ ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆ:

  • ಹೊಸಬ: "ನಾನು ಈ JPEG ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಬಯಸುತ್ತೇನೆ"
  • ಸುಧಾರಿತ: "ನಾನು ಈ ಅನಿಮೇಟೆಡ್ GIF ಅನ್ನು ಮೆಮೊರಿಯಿಂದ ಲೋಡ್ ಮಾಡಲು ಬಯಸುತ್ತೇನೆ"
  • ಡೀಪ್ ಸೀ ಡೈವರ್: "ನಾನು ಈ ಅನಿಮೇಟೆಡ್ GIF ಅನ್ನು ಮೆಮೊರಿಯಿಂದ ಲೋಡ್ ಮಾಡಲು ಬಯಸುತ್ತೇನೆ ಮತ್ತು ನಾನು ಆಯ್ಕೆ ಮಾಡುವ ಕೊಡೆಕ್‌ಗಳು ಮತ್ತು ಪಿಕ್ಸೆಲ್ ಔಟ್‌ಪುಟ್‌ನ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಲು ಬಯಸುತ್ತೇನೆ."
  • ತಾಂತ್ರಿಕ ಮುಳುಕ: "ನನಗೆ ಮೇಲಿನ ಎಲ್ಲವೂ ಬೇಕು ಮತ್ತು ನನ್ನ ಸ್ವಂತ ಡೇಟಾ ಮೂಲ"

ಅದೇ ಪ್ರದೇಶದ ನೇರ ಸ್ಪರ್ಧಿಗಳು:

  • ಉಚಿತ ಚಿತ್ರ
  • ಡೆವಿಲ್
  • SDL_ಚಿತ್ರ
  • WIC
  • imlib2
  • ಬೂಸ್ಟ್.ಜಿಐಎಲ್
  • gdk-pixbuf

ಇತರ ಗ್ರಂಥಾಲಯಗಳಿಂದ ವ್ಯತ್ಯಾಸಗಳು:

  • ನಿರೀಕ್ಷಿತ ಘಟಕಗಳೊಂದಿಗೆ ಮಾನವ API - ಚಿತ್ರಗಳು, ಪ್ಯಾಲೆಟ್‌ಗಳು, ಇತ್ಯಾದಿ.
  • ಹೆಚ್ಚಿನ ಕೊಡೆಕ್‌ಗಳು ಕೇವಲ RGB/RGBA ಪಿಕ್ಸೆಲ್‌ಗಳಿಗಿಂತ ಹೆಚ್ಚು ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು.
  • ಹೆಚ್ಚಿನ ಕೊಡೆಕ್‌ಗಳು ಆರ್‌ಜಿಬಿಗೆ ಪರಿವರ್ತಿಸದೆ ಮೂಲ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು.
  • ನೀವು ಯಾವುದೇ ಭಾಷೆಯಲ್ಲಿ ಕೊಡೆಕ್‌ಗಳನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ಸಂಪೂರ್ಣ ಯೋಜನೆಯನ್ನು ಮರುಸಂಕಲಿಸದೆ ಅವುಗಳನ್ನು ಸೇರಿಸಬಹುದು/ತೆಗೆದುಹಾಕಬಹುದು.
  • ಮೂಲ ಚಿತ್ರದ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸಂರಕ್ಷಿಸಿ.
  • "ಪ್ರೋಬಿಂಗ್" ಎನ್ನುವುದು ಪಿಕ್ಸೆಲ್ ಡೇಟಾವನ್ನು ಡಿಕೋಡ್ ಮಾಡದೆಯೇ ಚಿತ್ರದ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ.
  • ಗಾತ್ರ ಮತ್ತು ವೇಗ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ