[Powered by Google Translate] [ದರ್ಶನ - ಸಮಸ್ಯೆ ಸೆಟ್ 4]
[Zamyla ಚಾನ್ - ಹಾರ್ವರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ]
[ಈ CS50 ಹೊಂದಿದೆ. - CS50.TV]
ಎಲ್ಲಾ ಸರಿ. ಹಲೋ, ಎಲ್ಲರೂ, ಮತ್ತು ದರ್ಶನ 4 ಸ್ವಾಗತ.
>> ಇಂದು ನಮ್ಮ pset ಫೊರೆನ್ಸಿಕ್ಸ್ ಹೊಂದಿದೆ.
ಫೊರೆನ್ಸಿಕ್ಸ್ ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತಗಳನ್ನು ವ್ಯವಹರಿಸುವಾಗ ಒಳಗೊಂಡಿರುತ್ತದೆ ನಿಜವಾಗಿಯೂ ಮೋಜಿನ pset ಆಗಿದೆ
ಒಂದು ಅಪರಾಧ ಎಂದು ಕಂಡುಹಿಡಿಯುವ.
ಆಗ, ಕೆಲವು ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತಗಳನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಲು ನೀನು
ನಂತರ ನಾವು, ಕೊಡು ಎಂಬ ನಿಜವಾಗಿಯೂ ಮೋಜಿನ ಭಾಗವಾಗಿ ವ್ಯವಹರಿಸಲು ನೀನು
ಇದರಲ್ಲಿ ನಾವು ಮೂಲಭೂತವಾಗಿ ಒಂದು ಮೆಮೊರಿ ಕಾರ್ಡ್ ಹ್ಯಾಂಡೆಡ್ ನೀವು
ಇದರಲ್ಲಿ ಯಾರಾದರೂ ಆಕಸ್ಮಿಕವಾಗಿ ತಮ್ಮ ಕಡತಗಳನ್ನು ಎಲ್ಲಾ ಅಳಿಸಿದ್ದಾರೆ,
ಮತ್ತು ನಾವು ಆ ಕಡತಗಳನ್ನು ಚೇತರಿಸಿಕೊಳ್ಳಲು ಕೇಳಿದಾಗ ನೀವು.
>> ನಾವು pset ಬರಲು ಮೊದಲು ಆದರೆ ಮೊದಲು, ನಾನು ಕೇವಲ ಎಲ್ಲರೂ ಅಭಿನಂದಿಸುತ್ತೇನೆ ಬಯಸುವ.
ಈ ಕೋರ್ಸ್ ಕೇಂದ್ರ ಬಿಂದುವಾಗಿ ಬಗ್ಗೆ ಆರ್.
ರಸಪ್ರಶ್ನೆ 0 ನಮಗೆ ಹಿಂದೆ, ಮತ್ತು ನಾವು ಅರ್ಧದಾರಿಯಲ್ಲೇ ಆರ್, ಆದ್ದರಿಂದ ಮೂಲಭೂತವಾಗಿ, pset4 ನಲ್ಲಿ ಆರ್.
ನಿಮ್ಮ psets, pset0 ಮತ್ತು pset1 ಮತ್ತೆ ನೋಡಲು ನಾವು, ಒಂದು ದೀರ್ಘ ಎಲ್ಲರೂ ನಾವು
ಆದ್ದರಿಂದ, ಆ ಬಗ್ಗೆ ನಿಮ್ಮನ್ನು ಅಭಿನಂದಿಸುತ್ತೇನೆ
ಮತ್ತು ನಾವು ಕೆಲವು ನಿಜವಾಗಿಯೂ ತಮಾಷೆಯ ಸಂಗತಿಗಳನ್ನು ಬರಲು ನೀನು.
>> ಆದ್ದರಿಂದ ಈ pset ನಮ್ಮ ಉಪಕರಣ, ಮತ್ತೆ, ಬದಲಿಗೆ sudo yum-ವೈ ಅಪ್ಡೇಟ್ ಚಲಾಯಿಸುವ,
ನೀವು ಮೇಲೆ APPLIANCE ಆವೃತ್ತಿ 17.3 ಮತ್ತು ಇಂತಹ ನಾವು update50 ಚಲಿಸಬಹುದು ಆರ್.
ಆದ್ದರಿಂದ update50 ರನ್ ಮರೆಯಬೇಡಿ - ಇದು ಕೆಲವು ಕಡಿಮೆ ಅಕ್ಷರಗಳು, ಸಾಕಷ್ಟು ಸುಲಭ -
ನೀವು APPLIANCE ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ನಾವು CS50 ಚೆಕ್ ಬಳಸಿಕೊಂಡು ಪ್ರಾರಂಭಿಸಿದಾಗ ವಿಶೇಷವಾಗಿ update50 ಮುಖ್ಯವಾಗಿರುತ್ತದೆ.
ನೀವು ಹಾಗೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
>> ಈ pset ವಿಭಾಗದಲ್ಲಿ ಎಲ್ಲಾ,
ನಾವು ಫೈಲ್ ಆದಾನಗಳು ಮತ್ತು ವ್ಯವಹರಿಸುತ್ತದೆ ಎಂದು ನೀನು, ಫೈಲ್ ಐ / ಒ
ನಾವು ಸರಣಿಗಳ ವ್ಯವಹರಿಸಲು ಕಾರ್ಯಸೂಚಿಗಳನ್ನು ಸಾಕಷ್ಟು ಹೋಗುವಾಗ ಎಂದು ನೀನು
ಕಡತಗಳನ್ನು ಮತ್ತು ವಿಷಯಗಳನ್ನು ಸೂಚಿಸುವ,
ಆದ್ದರಿಂದ ನಾವು ನಿಜವಾಗಿಯೂ ಪರಿಚಿತ ಮತ್ತು ಆರಾಮದಾಯಕ ಎಂಬುದನ್ನು ಖಾತ್ರಿಪಡಿಸಲು ಬಯಸುವ
ಹೇಗೆ ಕಡತಗಳು ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಮಾಡಲು ವ್ಯವಹರಿಸುತ್ತದೆ.
>> ಈ pset ಹಂಚಿಕೆಗಾಗಿ ಕೋಡ್ copy.c ಎಂಬ ಫೈಲ್ ಆಗಿದೆ
ಮತ್ತು ನಮಗೆ ನಿಜವಾಗಿಯೂ ಉಪಯುಕ್ತ ಎಂದು ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂದು ನಾವು ಹೇಗೆ ನೀನು ನ
ನಾವು ಅಂತ್ಯಗೊಳ್ಳುತ್ತಿತ್ತು ನೀನು ಏಕೆಂದರೆ ವಾಸ್ತವವಾಗಿ copy.c ಫೈಲ್ ನಕಲು
ಮತ್ತು ಕೇವಲ ಸ್ವಲ್ಪ ಸಮಸ್ಯೆ ಸೆಟ್ ಮೊದಲ 2 ಭಾಗಗಳು ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಅದನ್ನು ಬದಲಿಸಿಬಿಡುತ್ತದೆ.
>> ನಾನು ಮೊದಲೇ ಹೇಳಿದಂತೆ ಮತ್ತು ಆದ್ದರಿಂದ, ನಾವು ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಹಾಗೆಯೇ JPEGs ವ್ಯವಹರಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ನಿಜವಾಗಿಯೂ, ಆ ಕಡತಗಳನ್ನು ಆಯೋಜಿಸಲಾಗಿದೆ ಹೇಗೆ ವಿನ್ಯಾಸವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ
ನಾವು ನಿಜವಾಗಿಯೂ ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ ಆಗಿ 0 ಸೆ ಮತ್ತು 1 ಭಾಷಾಂತರಿಸಿ ಹೇಗೆ
ಮತ್ತು ನಾವು ನಿಜವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ವ್ಯಾಖ್ಯಾನಿಸುವ ಮತ್ತು ಸಂಪಾದಿಸಬಹುದು ವಸ್ತುಗಳನ್ನು,
ಎಂದು, ನಿಜವಾಗಿಯೂ ಪ್ರಮುಖವಾದದ್ದು
ಆದ್ದರಿಂದ JPEG ಮತ್ತು ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತಗಳನ್ನು ಹೋಗುವುದನ್ನು ಮತ್ತು ಆ ರಚನೆಯ ಅರ್ಥ.
>> Pset4, ಎಂದಿನಂತೆ, ಪ್ರಶ್ನೆಗಳನ್ನು ಒಂದು ವಿಭಾಗ ಆರಂಭವಾಗುತ್ತದೆ.
ಆ ಫೈಲ್ I / O ವ್ಯವಹರಿಸುವ ಮತ್ತು ಆ ಒಗ್ಗಿಕೊಂಡಿರಲಿಲ್ಲವಾದ್ದರಿಂದ ಪಡೆಯುತ್ತಾನೆ.
ನಂತರ ಭಾಗ 1 ನೀವು ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತ ನೀಡಿದ ನೀವು ಇದರಲ್ಲಿ, ವೊಡುನಿಟ್ ಆಗಿದೆ
ಎಲ್ಲಾ ಮೇಲೆ ಕೆಂಪು ಚುಕ್ಕೆಗಳು ರೀತಿಯ ರೀತಿಯ ಕಾಣುತ್ತದೆ.
ತದನಂತರ ಮೂಲತಃ ನಾವು ಹೋಗುವ ಏನನ್ನು ಈ ಫೈಲ್ ತೆಗೆದುಕೊಂಡು ಸ್ವಲ್ಪ ಅದನ್ನು ಸಂಪಾದಿಸಲು
ನಾವು ಓದಬಹುದು ರೂಪಾಂತರವಾಗಿ.
ಮೂಲಭೂತವಾಗಿ, ಒಮ್ಮೆ ನಾವು ಒಂದೇ ಕಡತದಲ್ಲಿ ಸಾಧ್ಯವಿದೆ, ಪೂರ್ಣಗೊಳಿಸಲು
ಹೊರತುಪಡಿಸಿ ನಾವು ಎಲ್ಲಾ ಕೆಂಪು ಚುಕ್ಕೆಗಳು ಅಡಗಿಸಿಟ್ಟಿತ್ತು ಗುಪ್ತ ಸಂದೇಶ ನೋಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ನಂತರ ಗಣಕತೆರೆ ಫೈಲ್ ನೀಡಿದ, ಒಂದು ಕಾರ್ಯಕ್ರಮ
ಮತ್ತು ಅದು ಹೊರತರುವ ಆ ಕಡತದ ಹೆಸರನ್ನು ನಂತರ, ಜೊತೆಗೆ ಕೊಟ್ಟಿದೆ
ವಾಸ್ತವವಾಗಿ ಆ ಪೂರ್ಣಾಂಕ ಮೌಲ್ಯ ಆ ಬಿಟ್ಮ್ಯಾಪ್ ಗಾತ್ರ ಬದಲಾವಣೆ ಕಾಣಿಸುತ್ತದೆ.
ನಂತರ ಕೊನೆಯದಾಗಿ, ನಾವು ಚೇತರಿಸಿಕೊಳ್ಳಲು pset ಹೊಂದಿರುತ್ತವೆ.
ನಾವು ಒಂದು ಮೆಮೊರಿ ಕಾರ್ಡ್ ನೀಡಿದ ನಂತರ ಫೋಟೋಗಳನ್ನು ಎಲ್ಲಾ ಚೇತರಿಸಿಕೊಳ್ಳಲು ಹೊಂದಿವೆ
ಆಕಸ್ಮಿಕವಾಗಿ ಅಳಿಸಲಾಗಿದೆ ಎಂದು,
ನಾವು ಕಲಿಯೋಣ ಆದರೆ, ವಾಸ್ತವವಾಗಿ ಅಳಿಸಲಾಗಿದೆ ಮತ್ತು ಕಡತವನ್ನು ತೆಗೆದು ಅಲ್ಲ;
ಅವರು ಫೈಲ್ ಸಂದರ್ಭದಲ್ಲಿ ಆಫ್ ನಾವು ರೀತಿಯ ಸೋತರು, ಆದರೆ ನಾವು ಚೇತರಿಸಿಕೊಳ್ಳಲು ನೀನು.
>> ಗ್ರೇಟ್. ಆದ್ದರಿಂದ ನೀವು ಬಳಸುತ್ತಿರುವ ನಾವು ಕಾರ್ಯಗಳ ಒಂದು ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು I / O ನಿರ್ದಿಷ್ಟವಾಗಿ, ಈ ಮಾಡುತ್ತಿರುವ ಫೈಲ್ ಸಾಗುವ.
ನೀವು ಈಗಾಗಲೇ ಸ್ವಲ್ಪ fopen ಮೂಲಭೂತ, fread, ಮತ್ತು fwrite, ನೋಡಬಹುದು
ಆದರೆ ಕೆಲವು ಫೈಲ್ ಮತ್ತಷ್ಟು ನೋಡಲು ನೀನು ನಾನು / ಉದಾಹರಣೆಗೆ fputc ಮಾಹಿತಿ ಒ ಕಾರ್ಯಗಳನ್ನು
ಇದರಲ್ಲಿ ನೀವು, ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದು ಅಕ್ಷರವನ್ನು ಬರೆಯಲು
ಅಲ್ಲಿ ನೀವು ರೀತಿಯ ಫಾರ್ವರ್ಡ್ಗಳು ಮತ್ತು ಹಿಂದಕ್ಕೆ ಕಡತ ಸ್ಥಾನವನ್ನು ಸೂಚಕ ಸಾಗುತ್ತಿರುವಂತೆ, fseek, ಗೆ
ನಂತರ ಕೆಲವರು. ಆದರೆ ನಾವು pset ಸಮಯದಲ್ಲಿ ಸ್ವಲ್ಪ ನಂತರ ಆಗಿ ಹೋಗುತ್ತೇನೆ.
>> ಮೊದಲು, ಕೇವಲ ಕಡತ ಬರಲು I / O ನಾವು pset ಹೋಗಿ ಮೊದಲು,
ಒಂದು ಕಡತವನ್ನು ತೆರೆಯಲು, ಉದಾಹರಣೆಗೆ, ಏನು ಮಾಡಬೇಕು ವಾಸ್ತವವಾಗಿ ಆ ಕಡತಕ್ಕೆ ಒಂದು ಪಾಯಿಂಟರ್ ಹೊಂದಿಸಲಾಗಿದೆ.
ನಾವು ಫೈಲ್ * ಪಾಯಿಂಟರ್ ಹೊಂದಿರುತ್ತವೆ.
ನನ್ನ infile ಎಂದು ವಿಶೇಷವೇನು ಏಕೆಂದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾನು ಪಾಯಿಂಟರ್ ಒಂದು ಕರೆ ನುಡಿದರು.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾನು ಕಾರ್ಯ fopen ತದನಂತರ ಫೈಲ್ ಹೆಸರನ್ನು ಬಳಸಲು ಪಡೆಯಲಿದ್ದೇನೆ
ತದನಂತರ ನಾನು ಹೋಗುತ್ತಿರುವೆ ಇದರಲ್ಲಿ ಮೋಡ್ ಕಡತ ವ್ಯವಹರಿಸುವಾಗ ಎಂದು.
ಆದ್ದರಿಂದ ಓದಲು ಈ ಸಂದರ್ಭದಲ್ಲಿ "R", ಬರವಣಿಗೆಗೆ "W", ಮತ್ತು ನಂತರ ಸೇರಿಸುವುದರಿಂದ ಫಾರ್ "ಒಂದು" ಇಲ್ಲ.
ಉದಾಹರಣೆಗೆ, ನೀವು ಒಂದು infile ಮಾತಾಡುತ್ತಿದ್ದೀರಿ
ಮತ್ತು ನೀವು ಬಯಸುವ ಎಲ್ಲಾ, ಅಲ್ಲಿ ಸಂಗ್ರಹಿಸಿರುವ ಬಿಟ್ಗಳು ಮತ್ತು ಬೈಟ್ಗಳು ಓದಲು
ನಂತರ ನೀವು ಬಹುಶಃ ನಿಮ್ಮ ಮೋಡ್ ಎಂದು "R" ಬಳಸಬೇಕಿರುವ ಎಂದು ನೀನು.
ನೀವು ನಿಜವಾಗಿ ಬರೆಯಲು ಬಯಸಿದಾಗ, ರೀತಿಯ ಒಂದು ಹೊಸ ಫೈಲ್ ಮಾಡಲು,
ನಂತರ ನಾವು ಮಾಡಲು ನೀನು ನಾವು ಹೊಸ ಕಡತವನ್ನು ತೆರೆಯಲು ನೀನು ಆಗಿದೆ
ಮತ್ತು ಬರೆಯಲು "W" ಮೋಡ್ ಬಳಸಿ.
>> ಆದ್ದರಿಂದ ನೀವು ನಿಜವಾಗಿಯೂ ಕಡತಗಳು ಓದುವ ಮಾಡಿದಾಗ, ರಚನೆ ಹೀಗಿದೆ.
ಮೊದಲ ನೀವು ಓದುವ ನೀವು ಬೈಟ್ಗಳು ಹೊಂದಿರುವ struct ಸೂಚಕವನ್ನು ಸೇರಿವೆ.
ಆದ್ದರಿಂದ ನೀವು ಓದುವ ನೀವು ಬೈಟ್ಗಳು ಕೊನೆಯಲ್ಲಿ ಸ್ಥಳ ಎಂದು ವಿಶೇಷವೇನು.
ನೀವು ನಂತರ ಗಾತ್ರವನ್ನು ಸೂಚಿಸಲು ನೀನು, ಇಷ್ಟ ಮೂಲತಃ ಎಷ್ಟು ಬೈಟ್ಗಳು
ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಫೈಲ್ ಗೆ ಓದಲು ಹೊಂದಿದೆ, ಗಾತ್ರ ಮೂಲತಃ ಒಂದು ಅಂಶ, ಇದು
ತದನಂತರ ನೀವು ಓದಲು ಬಯಸುವ ಎಷ್ಟು ಅಂಶಗಳನ್ನು ಸೂಚಿಸಲು ನೀನು.
ತದನಂತರ ಅಂತಿಮವಾಗಿ, ನೀವು, ನೀವು ಓದುವ ನೀವು ಅಲ್ಲಿ ಗೊತ್ತಿರಬೇಕಾಗುತ್ತದೆ
ಆದ್ದರಿಂದ ನಿಮ್ಮ ಪಾಯಿಂಟರ್ ಎಂದು ವಿಶೇಷವೇನು.
Fread ಸಹ fwrite ಹೋಲುತ್ತದೆ, ಏಕೆಂದರೆ ನಾನು ಈ ಬಣ್ಣ ಕೋಡೆಡ್
ನೀವು ಸರಿಯಾದ ಬಳಸುವ ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳಬೇಕಾಗಿದೆ ಹೊರತುಪಡಿಸಿ,
ನೀವು ನಿಜವಾಗಿ ಬರೆಯಲು ಅಥವಾ ಬಲ ಕಡತದಿಂದ ಓದುವಲ್ಲಿ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
>> ಆದ್ದರಿಂದ ಎಂದು ಮೊದಲು, ನಾವು ಅಂಶ ಗಾತ್ರವನ್ನು ಹಾಗೆಯೇ ಅಂಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿದ್ದರೆ,
ನಾವು ಇಲ್ಲಿ ಸ್ವಲ್ಪ ಸುಮಾರು ವಹಿಸುತ್ತದೆ.
ನಾನು ನಾಯಿ struct ಮತ್ತು ಆದ್ದರಿಂದ ನಾನು ಆ ಸಮಯದಲ್ಲಿ ಎರಡು ನಾಯಿಗಳು ಓದಲು ಬಯಸುವ ಸೇ.
ನಾನು ಹಾಗೆ ಮಾಡಲು ಒಂದು ಅಂಶ ಗಾತ್ರವನ್ನು ಹೇಳಲು ಒಂದು ನಾಯಿಯ ಗಾತ್ರ ಏರಲಿದೆ
ನಾನು ನಿಜವಾಗಿಯೂ ಎರಡು ಓದಲು ಪಡೆಯಲಿದ್ದೇನೆ.
ಪರ್ಯಾಯವಾಗಿ, ಏನು ನಾನು ಎಂದು ನಾನು ಒಂದು ಅಂಶ ಓದಲು ಪಡೆಯಲಿದ್ದೇನೆ ಹೇಳಲು ಇದೆ
ಮತ್ತು ಒಂದು ಅಂಶ ಎರಡು ನಾಯಿಗಳು ಗಾತ್ರವನ್ನು ಎಂದು ಹೋಗುತ್ತದೆ ಎಂದು.
ಆದ್ದರಿಂದ ಹೋಲುತ್ತದೆ ಹವ್ ಯು ಗಾತ್ರ ಮತ್ತು ಸಂಖ್ಯೆಯ ಸುಮಾರು ಆಟದ ರೀತಿಯ ಮಾಡಬಹುದು
ನಿಮಗೆ ಮತ್ತಷ್ಟು ಗ್ರಹಿಸುವಂತೆ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿ.
>> ಎಲ್ಲಾ ಸರಿ. ಈಗ ನಾವು ಬರೆಯುವ ಕಡತಗಳನ್ನು ಪಡೆಯುವುದು.
ನೀವು ಓದುವ ನೀವು ಅಲ್ಲಿ ನೀವು ಕಡತವನ್ನು ಬರೆಯಲು ಬಯಸಿದಾಗ, ಮೊದಲ ವಾದವು ವಾಸ್ತವವಾಗಿ.
ಆದ್ದರಿಂದ, ನೀವು ಫೈಲ್ ಆಗಿ ಬರೆಯಲು ಹೋಗುವ ಮೂಲಭೂತ ಮಾಹಿತಿ ಇಲ್ಲಿದೆ
ಕೊನೆಯಲ್ಲಿ ಔಟ್ ಪಾಯಿಂಟರ್ ಇದು.
ಆದ್ದರಿಂದ ನೀವು pset ವ್ಯವಹರಿಸುವಾಗ ಮಾಡಿದಾಗ, ನೀವು ತಪ್ಪಾಗಿ ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳಿ.
ಬಹುಶಃ ಪಕ್ಕದ ವ್ಯಾಖ್ಯಾನಗಳು ಅಡ್ಡ ಹೊಂದಿರುತ್ತವೆ.
ನೀವು, ಉದಾಹರಣೆಗೆ, ಮನುಷ್ಯನನ್ನು ನಮೂದಿಸುವ ಮೂಲಕ ಕೈಪಿಡಿಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಗಳು ಮೇಲೆಳೆದುಕೊಳ್ಳಲು ತದನಂತರ fwrite ಮಾಡಬಹುದು
ಟರ್ಮಿನಲ್ ನಲ್ಲಿ, ಅಥವಾ ಈ ಸ್ಲೈಡ್ ಮರಳಿ ಉಲ್ಲೇಖಿಸಬಹುದು
ಮತ್ತು ನೀವು ಸರಿಯಾದ ಒಂದು ಬಳಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಆದ್ದರಿಂದ ಮತ್ತೆ, fwrite, ನೀವು ಒಂದು ಕಡತವನ್ನು ಹೊಂದಿರುವ ನೀವು, ಆಗಿ ಬರೆಯಲು ಬಯಸುವ
ಕಳೆದ ವಾದವು ಎಂದು ವಿಶೇಷವೇನು ಮತ್ತು ಆ ಕಡತ ಒಂದು ಪಾಯಿಂಟರ್ ಎಂದು ವಿಶೇಷವೇನು.
ಆದ್ದರಿಂದ, ನಾವು ಒಂದು ಸಮಯದಲ್ಲಿ ಬಹುಶಃ ಅನೇಕ ಬೈಟ್ಗಳು ಬರೆಯುವ ವ್ಯವಹರಿಸಲು ಹೇಗೆ
ಆದರೆ ನೀವು ಕೇವಲ ಒಂದೇ ಅಕ್ಷರದಲ್ಲಿ ಬರೆಯಲು ಬಯಸುವ ಹೇಳುತ್ತಾರೆ.
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ನಂತರ ನೋಡುತ್ತಾರೆ ಎಂದು, ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ರಲ್ಲಿ ನಾವು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ.
ನಾವು fputc ಬಳಸಬಹುದು ಆ ಸ್, ಮೂಲಭೂತವಾಗಿ ಕೇವಲ chr, ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದು ಅಕ್ಷರವನ್ನಾದರೂ ಪುಟ್ಟಿಂಗ್
ಅಲ್ಲಿ ಫೈಲ್ ಪಾಯಿಂಟರ್ ಆಗಿ, ಮತ್ತು ನಮ್ಮ ಔಟ್ ಪಾಯಿಂಟರ್.
ಆದ್ದರಿಂದ ನಾವು, ಹುಡುಕುವುದು ಅಥವಾ ಒಂದು ಕಡತದಲ್ಲಿ ಬರೆಯಲು ಬಂದಾಗಲೆಲ್ಲಾ
ಫೈಲ್ ನಾವು ಅಲ್ಲಿ ಗಮನವಿಡುತ್ತಾ ಇದೆ.
ಆದ್ದರಿಂದ ಕರ್ಸರ್, ಕಡತ ಸ್ಥಾನವನ್ನು ಸೂಚಕ ಒಂದು ರೀತಿಯ ಇಲ್ಲಿದೆ.
ಮತ್ತು, ಆದ್ದರಿಂದ ನಾವು ಬರೆಯಲು ಮಾಡುವಾಗ ಅಥವಾ ಫೈಲ್ ಆಗಿ ಮತ್ತೆ ಓದಲು
ಅದು ಅಲ್ಲಿ ಫೈಲ್ ವಾಸ್ತವವಾಗಿ, ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತಾರೆ
ಮತ್ತು ಆದ್ದರಿಂದ ಕರ್ಸರ್ ಸ್ಥಳದಿಂದ ಮುಂದುವರೆಯುತ್ತದೆ.
ನೀವು ಬಯಸುವ ಈ ಏನಾದರೂ ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರಮಾಣದ ಓದಲು, ಹೇಳುತ್ತಾರೆ, ಲಾಭಕರವಾಗಿರುತ್ತದೆ
ನಂತರ, ಈ ಪ್ರಮಾಣವನ್ನು ಓದಲು
ಆದರೆ ಕೆಲವೊಮ್ಮೆ ನಾವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಉಲ್ಲೇಖ ಮೌಲ್ಯವನ್ನು ಆರಂಭವಾಗುತ್ತವೆ ಹಿಂದಕ್ಕೆ ಅಥವಾ ವಾಸ್ತವವಾಗಿ ಹೋಗಿ ಬಯಸಬಹುದು.
ಆದ್ದರಿಂದ fseek ಕಾರ್ಯ, ಅದು ಏನು ಮಾಡುತ್ತದೆ ನಮಗೆ ಕೆಲವು ಕಡತದಲ್ಲಿ ಕರ್ಸರ್ ಸರಿಸು ಅನುಮತಿಸುತ್ತದೆ
ಬೈಟ್ಗಳು ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆ.
ನಂತರ ನಾವು ಮಾಡಬೇಕು ಉಲ್ಲೇಖ ಮೌಲ್ಯವಾಗಿರುತ್ತದೆ ಅಲ್ಲಿ ಸೂಚಿಸಿ ಆಗಿದೆ.
ಆದ್ದರಿಂದ ಅದನ್ನು, ತೆರೆಸೂಚಕವು ಪ್ರಸ್ತುತ ಅಲ್ಲಿ ರಿಂದ ಮುಂದಕ್ಕೆ ಅಥವಾ ಹಿಂದಕ್ಕೆ ಚಲಿಸುತ್ತದೆ
ಅಥವಾ ನಾವು ಕೇವಲ ಕಡತ ಆರಂಭದಿಂದಲೂ ಚಲಿಸುತ್ತವೆ ಎಂದು ಸೂಚಿಸಬಹುದು
ಅಥವಾ ಕಡತದ ತುದಿಯಿಂದ.
ಆದ್ದರಿಂದ ನೀವು ಪ್ರಮಾಣದ ಋಣಾತ್ಮಕ ಅಥವಾ ಧನಾತ್ಮಕ ಮೌಲ್ಯಗಳನ್ನು ಹಸ್ತಾಂತರಿಸುತ್ತಾನೆ
ಮತ್ತು ಆ ರೀತಿಯ ಎರಡೂ ಮುಂದಕ್ಕೆ ಅಥವಾ ಹಿಂದಕ್ಕೆ ಕರ್ಸರ್ ಸರಿಸು ಕಾಣಿಸುತ್ತದೆ.
>> ನಾವು ಇತರ psets ಬರಲು ಮೊದಲು ಫೈಲ್ ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು ನಾನು / ಓ?
ಸರಿ. ನಾವು ಹೆಚ್ಚು ಉದಾಹರಣೆಗಳು ಬರಲು ಮಾಹಿತಿ, ಪ್ರಶ್ನೆಗಳನ್ನು ನನಗೆ ನಿಲ್ಲಿಸಲು ಹಿಂಜರಿಯಬೇಡಿ.
>> ಆದ್ದರಿಂದ ವೊಡುನಿಟ್ ರಲ್ಲಿ, ನೀವು ಸ್ಲೈಡ್ ಈ ಕೆಂಪು ರೀತಿಯದೇ ಒಂದು ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತ ಹಸ್ತಾಂತರಿಸಿದ ನೀವು,
ಮತ್ತು ಇದು ಕಾಣುತ್ತದೆ - ಕೆಂಪು ಚುಕ್ಕೆಗಳ ಒಂದು ಗುಂಪೇ - ಮತ್ತು ನೀವು ನಿಜವಾಗಿಯೂ ಬರೆಯದ ಏನು ಗೊತ್ತಿಲ್ಲ.
ನೀವು ಅರೆಮುಚ್ಚು ವೇಳೆ, ನೀವು ಮಧ್ಯಮ ಒಳಗೆ ಸ್ವಲ್ಪ ನೀಲಿ ಬಣ್ಣವನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಪಠ್ಯ ಸಂಗ್ರಹವಾಗಿರುವ ಅಲ್ಲಿ ಅಗತ್ಯವಾಗಿ, ಇದು.
ಅಲ್ಲಿ ಸಂಭವಿಸಿದ ಒಂದು ಕೊಲೆ, ಮತ್ತು ನಾವು ಮಾಡಿದ ಓರ್ವ ಕಂಡು ಹಿಡಿಯಬೇಕು.
ಹಾಗೆ ಮಾಡಲು, ನಾವು ಓದಬಹುದಾದ ರೂಪದಲ್ಲಿ ಈ ಚಿತ್ರವನ್ನು ಪರಿವರ್ತಿಸಲು ರೀತಿಯ ಅಗತ್ಯವಿದೆ.
ನೀವು ಹುಡುಗರಿಗೆ ಹಿಂದೆಂದೂ ಈ ವೇಳೆ ಎದುರಿಸಿದೆ, ಕೆಲವೊಮ್ಮೆ ಕಡಿಮೆ ಕಿಟ್ಗಳು ಇರುವುದಿಲ್ಲ
ಅಲ್ಲಿ ನೀವು ಒಂದು ಕೆಂಪು ಚಲನಚಿತ್ರ ಭೂತಗನ್ನಡಿಯಿಂದ ಹೊಂದಿರುತ್ತದೆ. ಯಾರಾದರೂ? ಹೌದು.
ಆದ್ದರಿಂದ ಈ ರೀತಿಯ ತಿರುಗಿದ ಏನೋ ಎಂದು, ನೀವು ಒಂದು ಭೂತಗನ್ನಡಿಯಿಂದ ಹೊಂದಿರುತ್ತದೆ
ಅದರ ಮೇಲೆ ಕೆಂಪು ಚಲನಚಿತ್ರ, ನೀವು, ಇಮೇಜ್ ಮೇಲೆ ಇದು ಪ್ರದರ್ಶಿಸುತ್ತದೆ
ಮತ್ತು ನೀವು ಸಂದೇಶವನ್ನು ಅದರೊಡನೆ ಮರೆಮಾಡಲಾಗಿದೆ ವೀಕ್ಷಿಸಬಹುದಾಗಿದೆ ಎಂದು.
ನಾವು ಕೆಂಪು ಚಲನಚಿತ್ರ ಭೂತಗನ್ನಡಿಯಿಂದ ಹೊಂದಿಲ್ಲ, ಆದ್ದರಿಂದ ಬದಲಿಗೆ ನಾವು ರೀತಿಯ ನಮ್ಮ ರಚಿಸಲು ಆಫ್ ಎಂದು ನೀನು
ಈ pset ರಲ್ಲಿ.
ಮತ್ತು ಆದ್ದರಿಂದ ಬಳಕೆದಾರರು, ನಂತರ ಇನ್ಪುಟ್ ವೊಡುನಿಟ್, ಸುಳಿವಿಗೆ ಹೋಗುತ್ತದೆ. BMP,
ಕೆಂಪು ಬಿಂದುವನ್ನು ಸಂದೇಶವಾಗಿದೆ infile, ಆದುದರಿಂದ ಆ
ತದನಂತರ ಅವರು verdict.bmp ನಮ್ಮ outfile ಏರಲಿದೆ ಹೇಳುತ್ತಿದ್ದಾರೆಂಬುದನ್ನು.
ಆದ್ದರಿಂದ ಸುಳಿವನ್ನು ರೀತಿಯ ಹೊಸ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರಿಕೆಯನ್ನು ರಚಿಸಲು ವಿಶೇಷವೇನು
ಒಂದು ಓದಬಲ್ಲ ಶೈಲಿಯಲ್ಲಿ ಹೊರತುಪಡಿಸಿ ಅಲ್ಲಿ ನಾವು ಗುಪ್ತ ಸಂದೇಶವನ್ನು ನೋಡಬಹುದು.
>> ನಾವು ಕೆಲವು ರೀತಿಯ ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಸಂಪಾದಿಸುವ ಮತ್ತು ಮ್ಯಾನಿಪುಲೇಟ್ ವ್ಯವಹರಿಸುವಾಗ ಎಂದು ನೀನು ರಿಂದ
ನಾವು ಈ ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತಗಳ ರಚನೆಯಲ್ಲಿ ರಲ್ಲಿ ಡೈವ್ ರೀತಿಯ ನೀನು.
ನಾವು ಉಪನ್ಯಾಸ ಈ ಸ್ವಲ್ಪ ಮೇಲೆ ಹೋದ, ಆದರೆ ಕೆಲವು ಅವುಗಳನ್ನು ನೋಡೋಣ ನ.
ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಮೂಲಭೂತವಾಗಿ ಬೈಟ್ಗಳು ಕೇವಲ ಒಂದು ವ್ಯವಸ್ಥೆ ಇರುತ್ತದೆ
ನಾವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನೀವು ಅಲ್ಲಿ ಇದು ಬೈಟ್ಗಳು ಏನು ಅರ್ಥ.
ಇಲ್ಲಿ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರದ ಒಂದು ನಕ್ಷೆ ಮುಂತಾದ ರೀತಿಯ ಹೊಂದಿದೆ
ಇದು ಕೆಲವು ಹೆಡರ್ ಕಡತಗಳನ್ನು ಆರಂಭವಾಗುತ್ತದೆ ಎಂದು, ಅಲ್ಲಿ ಕೆಲವು ಮಾಹಿತಿಯನ್ನು ಆರಂಭವಾಗುತ್ತದೆ.
ನೀವು ಬಗ್ಗೆ ಬೈಟ್ ಸಂಖ್ಯೆ 14 ನಲ್ಲಿ ಗಾತ್ರ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರದ ಸೂಚಿಸಲಾಗುತ್ತದೆ ನೋಡಿ
ಮತ್ತು ಇದು ಮುಂದುವರಿಯುತ್ತದೆ.
ಆದರೆ ಆಗ ನಾವು ನಿಜವಾಗಿಯೂ ಇಲ್ಲಿ ನೀವು ಆಸಕ್ತಿ ಬೈಟ್ ಸಂಖ್ಯೆ 54 ಸುಮಾರು ಶುರುವಾಗುತ್ತಿದೆ.
ನಾವು ಈ RGB ಮೂರು ಹೊಂದಿರುತ್ತವೆ.
ಮಾಡಲು ವಿಶೇಷವೇನು ಎಂದು ಯಾವ ನಿಜವಾದ ಪಿಕ್ಸೆಲ್ಗಳ ಬಣ್ಣದ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ ಹೊಂದಿದೆ.
ಶಿರೋಲೇಖ ಆ ಮೇಲೆ ಎಲ್ಲವೂ ಕೆಲವು ಮಾಹಿತಿ
ಚಿತ್ರ, ಚಿತ್ರದ ಅಗಲ ಮತ್ತು ಎತ್ತರ ಗಾತ್ರಕ್ಕೆ ಅನುಗುಣವಾಗಿ.
ನಾವು ನಂತರ ಪ್ಯಾಡಿಂಗ್ ಒಳಗೆ ಹೋದಾಗ, ನಾವು ನೋಡುತ್ತಾರೆ ಏಕೆ ಚಿತ್ರದ ಗಾತ್ರ
ಅಗಲ ಅಥವಾ ಎತ್ತರ ವಿಭಿನ್ನವಾದ ಇರಬಹುದು.
ಆದ್ದರಿಂದ ಈ ಪ್ರತಿನಿಧಿಸಲು - ಈ ಬಿಟ್ಮ್ಯಾಪ್ ಇಮೇಜ್ಗಳನ್ನು ಬೈಟ್ಗಳು ಸರಣಿಗಳನ್ನು ಅವು -
ಸರಿ ಹೇಳಲು ಇದೆ ನಾವು ಯಾವ, ನಾನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಪಡೆಯಲಿದ್ದೇನೆ ಎಂದು ಸೂಚ್ಯಂಕ 14 ನಲ್ಲಿ,
ನಾವು ಈ ಸುಲಭ ಮಾಡಲು ಮಾಡಲು ನೀನು ಯಾವ ಬದಲಿಗೆ ಗಾತ್ರದ ಉದಾಹರಣೆಗೆ, ಅಲ್ಲಿ, ಆದರೆ
ಒಂದು struct ಇದು ಕೋಶೀಕರಿಸುತ್ತದೆ ಇದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಮಾಡಿದ ಎರಡು ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ, ಒಂದು BITMAPFILEHEADER ಹೊಂದಿವೆ
ಮತ್ತು ಒಂದು BITMAPINFOHEADER,
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಕಡತವನ್ನು ಓದಲು ಬಂದಾಗಲೆಲ್ಲಾ, ಡೀಫಾಲ್ಟ್ ಮೂಲಕ, ಸಲುವಾಗಿ ಹೋಗಿ ಎಂದು ವಿಶೇಷವೇನು
ಮತ್ತು ಆದ್ದರಿಂದ ದೃಷ್ಟಿಯಿಂದ ಇದು biWidth ಮತ್ತು biSize ಎಂದು ಚರಾಂಕಗಳ ಮೇಲೆ ತುಂಬಲು ವಿಶೇಷವೇನು.
ತದನಂತರ ಅಂತಿಮವಾಗಿ, ಪ್ರತಿ ಪಿಕ್ಸೆಲ್ ಮೂರು ಬೈಟ್ಗಳು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ಮೊದಲ ಒಂದು ಪಿಕ್ಸೆಲ್ ನೀಲಿ ಪ್ರಮಾಣವನ್ನು, ಎರಡನೇ, ಹಸಿರು ಪ್ರಮಾಣವನ್ನು
ಮತ್ತು ಅಂತಿಮವಾಗಿ, 0 ಅಗತ್ಯವಾಗಿ ನೀಲಿ ಅಥವಾ ಹಸಿರು ಅಲ್ಲಿ ಕೆಂಪು, ಪ್ರಮಾಣವನ್ನು ಅಥವಾ ಕೆಂಪು
ತದನಂತರ ಎಫ್ಎಫ್ ಗರಿಷ್ಠ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ.
ಈ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಮೌಲ್ಯಗಳು.
ನಾವು ff0000 ಹೊಂದಿದ್ದರೆ ಆದ್ದರಿಂದ, ಆ ನೀಲಿ ಗರಿಷ್ಠ ಪ್ರಮಾಣವನ್ನು ಸೂಚಿಸುತ್ತದೆ
ತದನಂತರ ಹಸಿರು ಮತ್ತು ಕೆಂಪು, ಆದ್ದರಿಂದ ನಂತರ ನಮಗೆ ಒಂದು ನೀಲಿ ಪಿಕ್ಸೆಲ್ ನೀಡುವ ಯಾವುದೇ.
ನಾವು ಬೋರ್ಡ್ ಅಡ್ಡಲಾಗಿ ಎಫ್ಎಫ್ ಎಲ್ಲಾ ಹೊಂದಿದ್ದರೆ ನಂತರ, ನಂತರ ನಾವು ಒಂದು ಬಿಳಿ ಪಿಕ್ಸೆಲ್ ಎಂದು ಅರ್ಥ.
ನಾವು RGB ಹೇಳಲು ಈ ವಿಶಿಷ್ಟವಾಗಿ ವಿರುದ್ಧ ರೀತಿಯ. ಇದು ವಾಸ್ತವವಾಗಿ BGR ವಿಶೇಷವೇನು.
>> ನಾವು ನಿಜವಾಗಿ ಒಂದು ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರದ ಉದಾಹರಣೆ ನೋಡೋಣ ಆದ್ದರಿಂದ - ನನಗೆ ಇಲ್ಲಿ ಒಂದು ಅಪ್ ಪುಲ್ ಅವಕಾಶ.
ಇದು ಸ್ವಲ್ಪ ಸಣ್ಣ ಇಲ್ಲಿದೆ.
ನಾನು ಝೂಮ್ ಭಾವಿಸುತ್ತೇನೆ, ಮತ್ತು ನಾವು pixelated ನೋಡಬಹುದು. ಇದು ಬಣ್ಣದ ಬ್ಲಾಕ್ಗಳನ್ನು ತೋರುತ್ತಿದೆ.
ನೀವು ನಂತರ ಬಿಳಿ ಬ್ಲಾಕ್ಗಳನ್ನು ಮತ್ತು ಕೆಂಪು ಬ್ಲಾಕ್ಗಳನ್ನು ಹೊಂದಿವೆ.
ನೀವು Microsoft ಪೈಂಟ್ ಆಡುವ ವೇಳೆ, ಉದಾಹರಣೆಗೆ, ಆ ರೀತಿ ಏನನ್ನಾದರೂ ಮಾಡಬಹುದು
ಅದಕ್ಕೆ ಮೂಲತಃ ಕೇವಲ ಒಂದು ನಿಶ್ಚಿತ ಕ್ರಮದಲ್ಲಿ ಕೆಲವು ಚೌಕಗಳು ವರ್ಣಚಿತ್ರ.
ಆದ್ದರಿಂದ ಬಿಟ್ಮ್ಯಾಪ್ ರಲ್ಲಿ ಯಾವ ಈ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ ಈ ರೀತಿ ಇರುತ್ತದೆ.
ಇಲ್ಲಿ ನಾವು ಎಲ್ಲಾ 6 ಎಫ್ ನ ಎಂದು, ಮೊದಲ ಬಿಳಿ ಪಿಕ್ಸೆಲ್ಗಳು ಹೊಂದಿವೆ, ಮತ್ತು ನಂತರ ನಾವು ಕೆಂಪು ಪಿಕ್ಸೆಲ್ಗಳು ಹೊಂದಿವೆ
0000ff ಸೂಚಿಸಲಾಗುತ್ತದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ಆ ಬೈಟ್ಗಳು ಅನುಕ್ರಮ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರವನ್ನು ನೋಡಲು ಹೋಗುವುದು ಹೇಗೆ ಸೂಚಿಸುತ್ತದೆ.
ಹಾಗಾಗಿ ನಾನು ಇಲ್ಲಿ ಮಾಡಿದ ಕೇವಲ ಎಲ್ಲಾ ಬೈಟ್ಗಳು ಔಟ್ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಕೆಂಪು ಬಣ್ಣದ ನಂತರ
ನೀವು ರೀತಿಯ ನೋಡಬಹುದು ಆದ್ದರಿಂದ, ಆ ರೀತಿಯ ಒಂದು ನಗುತ್ತಿರುವ ಮುಖವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಹೇಗೆ ನೀವು ಅರೆಮುಚ್ಚು ಸ್ವಲ್ಪ, ವೇಳೆ.
>> ಬಿಟ್ಮ್ಯಾಪ್ ಇಮೇಜ್ಗಳನ್ನು ಕೆಲಸ ನಾನು ಆ ರೀತಿಯಲ್ಲಿ ಒಂದು ಗ್ರಿಡ್ ಮೂಲತಃ ಕಲ್ಪಿಸಿಕೊಳ್ಳಬಲ್ಲರಾಗಿದ್ದರು.
ಮತ್ತು ಆದ್ದರಿಂದ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಗ್ರಿಡ್ ಪ್ರತಿಯೊಂದು ಸಾಲು 4 ಬೈಟ್ಗಳು ಒಂದು ಬಹು ಎಂದು ಹೊಂದಿದೆ.
ನಾವು ಒಂದು ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರ ನೋಡಿದರೆ, ನೀವು ಪ್ರತಿ ಮೌಲ್ಯ ತುಂಬುವ ಮಾಡುತ್ತಿದ್ದೇವೆ.
ಉದಾಹರಣೆಗೆ, ನೀವು, ಇಲ್ಲಿ, ಇಲ್ಲಿ, ಇಲ್ಲಿ ಒಂದು ನೀಲಿ ಹಸಿರು ಕೆಂಪು ಹೊಂದಿರಬಹುದು
ಆದರೆ ನೀವು ಚಿತ್ರ ನಾಲ್ಕು ಬೈಟ್ಗಳು ಒಂದು ಬಹು ಮುಚ್ಚಬೇಕಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು.
ನಾನು ಮೂರು ಬ್ಲಾಕ್ಗಳನ್ನು ವ್ಯಾಪಕ ನನ್ನ ಚಿತ್ರವನ್ನು ನೀವು ಆದ್ದರಿಂದ, ನಂತರ ನಾನು ಖಾಲಿ ಮೌಲ್ಯ ಹಾಕಬೇಕು ಎಂದು
ಕಳೆದ ಒಂದು ಅದನ್ನು ನಾಲ್ಕು ಒಂದು ಬಹು ಮಾಡಲು.
ಆದ್ದರಿಂದ ನಾವು ಪ್ಯಾಡಿಂಗ್ ಕರೆ ಮಾಡುತ್ತಿದ್ದರೆ ಅದು ರಲ್ಲಿ ಸೇರಿಸುತ್ತದೆ.
ನಾನು ಅಲ್ಲಿ ಒಂದು X ನೊಂದಿಗೆ ಸೂಚಿಸಲು ಪಡೆಯಲಿದ್ದೇನೆ.
ಈಗ ನಾವು ಉದಾಹರಣೆಗೆ, 7 ಪಿಕ್ಸೆಲ್ಗಳು ಉದ್ದವಾಗಿದೆ ಚಿತ್ರವೊಂದನ್ನು ನೀವು ಹೇಳಬಹುದು.
ನಾವು 1, 2, 3, 4, 5, 6, 7, ಹೊಂದಿವೆ
ಮತ್ತು ಎಲ್ಲಾ ಬಣ್ಣದೊಂದಿಗೆ ತುಂಬಲಾಗುವುದು.
ಬಿಟ್ಮ್ಯಾಪ್ ಇಮೇಜ್ಗಳನ್ನು ಕೆಲಸ ರೀತಿಯಲ್ಲಿ ನಾವು ಒಂದು 8 ಅಗತ್ಯವಿದೆ ಎಂದು.
ಇದೀಗ ನಾವು 1, 2, 3, 4, 5, 6, 7 ಹೊಂದಿರುತ್ತವೆ.
ನಾವು ಸರಿಯಾಗಿ ಓದಲು ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರಕ್ಕಾಗಿ 8 ಸ್ಥಳಗಳಲ್ಲಿ ಅಗತ್ಯವಿದೆ.
ಆದ್ದರಿಂದ ನಾವು ಏನು ಪ್ಯಾಡಿಂಗ್ ಕೇವಲ ಸ್ವಲ್ಪ ರಲ್ಲಿ ಸೇರಿಸಲು ಇದೆ
ಅಗಲಗಳನ್ನು ಎಲ್ಲಾ ಏಕರೂಪದ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ
ಮತ್ತು ಅಗಲ ಎಲ್ಲಾ 4 ಒಂದು ಬಹು.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾನು ಮೊದಲು, ಒಂದು X ಅಥವಾ ಅಂಕು ಡೊಂಕು ಅಕ್ಷರಗಳುಳ್ಳ ಸಾಲಿನಂತೆ padding, ಸೂಚಿಸಲಾಗುತ್ತದೆ
ಆದರೆ ನಿಜವಾದ ಬಿಟ್ಮ್ಯಾಪ್ ಇಮೇಜ್ಗಳನ್ನು ಪ್ಯಾಡಿಂಗ್ ಒಂದು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ 0 ಸೂಚಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ಒಂದು ಪಾತ್ರ 0 ಆಗಿರುತ್ತದೆ.
ಏನು HANDY ರಲ್ಲಿ ಬರಬಹುದೆಂದು xxd ಆಜ್ಞೆಯ.
ಏನು ಅದು ನಾನು ನಗು ಜೊತೆ ಮೊದಲು ಏನು ಹೋಲುತ್ತದೆ, ನಿಜವಾಗಿ ನೀವು ತೋರಿಸುತ್ತದೆ ನಂತೆ
ನಾನು ವಾಸ್ತವವಾಗಿ ಪ್ರತಿ ಬಣ್ಣ ಪಿಕ್ಸೆಲ್ಗೂ ಎಂಬುದನ್ನು ಔಟ್ ಮುದ್ರಿಸಿತು
ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಜೊತೆ xxd ರನ್ ಮಾಡಿದಾಗ ಮತ್ತು ನಂತರ, ಅದು ಬಣ್ಣ ಕೋಡೆಡ್
ಅದು ನಿಜವಾಗಿ ಬಣ್ಣಗಳು ಆ ಚಿತ್ರಬಂಧಗಳ ಏನೆಂದು ಮುದ್ರಿಸಲು ಕಾಣಿಸುತ್ತದೆ.
ಏನು ಮಾಡಬೇಕು-ರು 54 ನಾನು ಸೂಚಿಸಲು ಇಲ್ಲಿ ಸುಮಾರು
ನಾನು 54TH ಬೈಟ್ ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲು ಪಡೆಯಲಿದ್ದೇನೆ ಹೇಳುತ್ತಾರೆ
ನಾವು ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ನಕ್ಷೆಯನ್ನು ಮರಳಿ ನೋಡಿದರೆ ಮೊದಲು ಏಕೆಂದರೆ, ನೆನಪು
ಹಾಗೆ ಹೆಡರ್ ಮಾಹಿತಿಯನ್ನು ಮತ್ತು ವಸ್ತುಗಳ ಎಲ್ಲ ಇಲ್ಲಿದೆ.
ಆದರೆ ನಾವು ನಿಜವಾಗಿಯೂ ಕಾಳಜಿ ಬಣ್ಣ ಸೂಚಿಸುವ ನಿಜವಾದ ಪಿಕ್ಸೆಲ್ಗಳು.
ಆದ್ದರಿಂದ, ರು 54 ಆ ಧ್ವಜ ನಲ್ಲಿ ಸೇರಿಸುವ ಮೂಲಕ, ಆಗ ಬಣ್ಣದ ಮೌಲ್ಯಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದಾಗಿದೆ ಆರ್.
ಮತ್ತು ಆ ತರಹದ ಸಂಕೀರ್ಣ ಧ್ವಜಗಳು ಮತ್ತು ವಿಷಯಗಳ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಡಿ.
ಸಮಸ್ಯೆ ಸೆಟ್ ನಿರ್ದಿಷ್ಟಪಡಿಸುವಿಕೆಯನ್ನು, ನೀವು ಪಿಕ್ಸೆಲ್ಗಳು ಪ್ರದರ್ಶಿಸಲು xxd ಬಳಸಲು ಹೇಗೆ ದಿಕ್ಕುಗಳಲ್ಲಿ ಹೊಂದಿರುತ್ತದೆ.
ನೀವು ಇಲ್ಲಿ ನೋಡಿ, ಅದು ಒಂದು ಬಗೆಯ ಒಂದು ಹಸಿರು ಬಾಕ್ಸ್, ಈ ಸಣ್ಣ ವಿಷಯ ತೋರುತ್ತಿದೆ.
ನಾನು ಮೂಲತಃ ಯಾವುದೇ ನೀಲಿ, ಹಸಿರು ಬಹಳಷ್ಟು, ಮತ್ತು ಕೆಂಪು ಹೇಳಿದಂತೆ 00ff00 ಬಣ್ಣ ಕೋಡೆಡ್ ಮಾಡಿದ್ದೀರಿ.
ಆದ್ದರಿಂದ ಹಸಿರು ಅನುರೂಪವಾಗಿದೆ.
ನೀವು ಇಲ್ಲಿ ನೋಡಿ, ನಾವು ಒಂದು ಹಸಿರು ಆಯಾತ ನೋಡಿ.
ಈ ಹಸಿರು ಆಯಾತ ನಾವು ಏನನ್ನು ಆದ್ದರಿಂದ, ಕೇವಲ 3 ಪಿಕ್ಸೆಲ್ಗಳು ಅಗಲವಿದೆ
ಚಿತ್ರ 4 ವ್ಯಾಪಕ ಒಂದು ಬಹು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹೆಚ್ಚುವರಿ ಪ್ಯಾಡಿಂಗ್ ರಲ್ಲಿ ಸೇರಿಸಲು ಹೊಂದಿದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನೀವು ಇಲ್ಲಿ ಈ 0 ಸೆ ನೋಡಿ ಹೇಗೆ.
ಈ ವಾಸ್ತವವಾಗಿ, ನಿಮ್ಮ ಗಣಕತೆರೆ pset ನ ಫಲಿತಾಂಶ
ಮೂಲಭೂತವಾಗಿ ಸಣ್ಣ ಬಿಟ್ಮ್ಯಾಪ್ ತೆಗೆದುಕೊಂಡು ನಂತರ 4 ಮೂಲಕ ಎನ್ಲಾರ್ಜಿಂಗ್.
ಆದ್ದರಿಂದ ನಾವು ನೋಡಿ, ವಾಸ್ತವವಾಗಿ ಈ ಚಿತ್ರವನ್ನು 12 ಪಿಕ್ಸೆಲ್ ಅಗಲ ಎಂದು, ಆದರೆ 12 4 ರ ಅಪವರ್ತ್ಯ
ನಾವು ಯಾವುದೇ ಸೇರಿಸಲು ಅಗತ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಆದ್ದರಿಂದ ನಾವು ವಾಸ್ತವವಾಗಿ ಕೊನೆಯಲ್ಲಿ ಯಾವುದೇ 0 ಸೆ ಕಾಣುವುದಿಲ್ಲ
ಸಂಪೂರ್ಣವಾಗಿ ಪೂರ್ವಪ್ರತ್ಯಯ ವಿಶೇಷವೇನು ಏಕೆಂದರೆ. ಯಾವುದೇ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶ ಇರುವುದಿಲ್ಲ.
>> ಸರಿ. ಪ್ಯಾಡಿಂಗ್ ಬಗ್ಗೆ ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು?
ಸರಿ. ಕೂಲ್.
>> ನಾನು ಮೊದಲೇ ಹೇಳಿದಂತೆ, ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಕೇವಲ ಬೈಟ್ಗಳು ಅನುಕ್ರಮ ಇವೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಹೊಂದಿಲ್ಲ ಬದಲಿಗೆ ಬೈಟ್ ನಿರ್ದಿಷ್ಟವಾದ ಸಂಖ್ಯೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಬಯಸುವ ಹೊಂದಿದೆ
ಒಂದು ನಿರ್ದಿಷ್ಟ ಅಂಶ ಸೂಚಿಸುತ್ತದೆ, ನಾವು ವಾಸ್ತವವಾಗಿ ಆ ಪ್ರತಿನಿಧಿಸಲು struct ರಚಿಸಿದ.
ಆದ್ದರಿಂದ ನಾವು ಹೊಂದಿರುವ RGBTRIPLE struct ಹೊಂದಿದೆ.
ನೀವು RGB ಟ್ರಿಪಲ್ ಒಂದು ಉದಾಹರಣೆಗೆ ಇದ್ದಾಗಲೆಲ್ಲಾ,
ಈ ಒಂದು ರೀತಿಯ struct ವ್ಯಾಖ್ಯಾನಿಸಲು ಏಕೆಂದರೆ, ನಂತರ ನೀವು, rgbtBlue ವೇರಿಯಬಲ್ ಪ್ರವೇಶಿಸಬಹುದು
ಸೂಚಿಸುತ್ತದೆ ಇದು ಹಾಗೆಯೇ ಹಸಿರು ಮತ್ತು ಕೆಂಪು ಚರಾಂಕಗಳ ಎಷ್ಟು ನೀಲಿ, ಹಸಿರು, ಮತ್ತು ಕೆಂಪು,
ಅನುಕ್ರಮವಾಗಿ, ನೀವು.
>> ನಾವು 0 ಗೆ, ಎಫ್ಎಫ್ ಹಸಿರು ಸೆಟ್, ನೀಲಿ ವೇರಿಯಬಲ್ ಸೆಟ್ ಆದ್ದರಿಂದ
, ಇದು ನೀವು ಗರಿಷ್ಠ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ, ನಂತರ ಕೆಂಪು ವೇರಿಯಬಲ್ 0 ಗೆ ಸೆಟ್
ನಂತರ ಯಾವ ಬಣ್ಣದ ಈ ನಿರ್ದಿಷ್ಟ RGB ಟ್ರಿಪಲ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ? >> [ವಿದ್ಯಾರ್ಥಿ] ಹಸಿರು.
ಹಸಿರು. ನಿಖರವಾಗಿ.
ಅದನ್ನು ತಿಳಿಯಲು ಉಪಯುಕ್ತ ಎಂದು ವಿಶೇಷವೇನು ಎಂದು ನೀವು RGB ಟ್ರಿಪಲ್ ಒಂದು ಉದಾಹರಣೆಗೆ ಇದ್ದಾಗಲೆಲ್ಲಾ,
, ನೀಲಿ ಹಸಿರು, ಮತ್ತು ಕೆಂಪು - - ಪ್ರತ್ಯೇಕವಾಗಿ ನೀವು ವಾಸ್ತವವಾಗಿ ಬಣ್ಣದ ಪ್ರಮಾಣವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.
>> ಈಗ ನಾವು ರಚನೆ ಬಗ್ಗೆ ಮಾತನಾಡಿದ್ದರು ಎಂಬುದನ್ನು, ನ BMP ಫೈಲ್ ನಲ್ಲಿ ಅವಲೋಕಿಸೋಣ.
ಈ ನೀವು ಮಾಡಿದ ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ ಇವೆ.
ಇಲ್ಲಿ ನಾವು ಒಂದು BITMAPFILEHEADER struct ಹೊಂದಿರುತ್ತವೆ.
ಆಸಕ್ತಿ ಗಾತ್ರವನ್ನು ಹೊಂದಿದೆ.
ನಂತರ, ನಾವು ನಮಗೆ ಆಸಕ್ತಿಕರ ಎಂದು ಕೆಲವು ವಿಷಯಗಳನ್ನು ಹೊಂದಿರುವ ಮಾಹಿತಿಯನ್ನು ಹೆಡರ್, ಹೊಂದಿವೆ
ಅವುಗಳೆಂದರೆ ಗಾತ್ರ, ಅಗಲ ಮತ್ತು ಎತ್ತರ.
ನಾವು ನಂತರ ಹೋಗಲು ನಾವು, ನೀವು ಫೈಲ್ ಗೆ ಓದಿದಾಗ,
ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಾವು ಅದೇ ಸಲುವಾಗಿ ಸೆಟ್ ಮಾಡಿದ ಏಕೆಂದರೆ ಓದುತ್ತದೆ.
ಆದ್ದರಿಂದ biSize ಚಿತ್ರದ ನಿಜವಾದ ಗಾತ್ರವನ್ನು ಹೋಲುವ ಬಲ ಬೈಟ್ಗಳು ಹೊಂದಿರುತ್ತವೆ.
ನಾವು ಕುರಿತು ನೀವು ಮಾಹಿತಿ ಮತ್ತು ನಂತರ ಇಲ್ಲಿ, ಕೊನೆಯದಾಗಿ,, ನಾವು RGBTRIPLE typedef struct ಹೊಂದಿರುತ್ತವೆ.
ನಾವು ಸಂಬಂಧಿಸಿದ rgbtBlue, ಹಸಿರು, ಮತ್ತು ಕೆಂಪು ಹೊಂದಿರುತ್ತವೆ.
>> ಗ್ರೇಟ್. ಸರಿ.
ಈಗ ನಾವು ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಸ್ವಲ್ಪ ಅರ್ಥ, ನಾವು ಒಂದು ಕಡತ ಹೆಡರ್ ಎಂದು ಅರ್ಥ
ಮತ್ತು ಅದನ್ನು ಮತ್ತು ಆ ನಂತರ ಸಂಬಂಧಿಸಿದ ಮಾಹಿತಿಯನ್ನು ಹೆಡರ್, ನಾವು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯವನ್ನು ಹೊಂದಿಲ್ಲ
ಬಣ್ಣಗಳು, ಮತ್ತು ಆ ಬಣ್ಣಗಳು RGBTRIPLE ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ
ಮತ್ತು ಆ, ಪ್ರತಿಯಾಗಿ, ಹಸಿರು, ನೀಲಿ, ಮತ್ತು ಕೆಂಪು ಸಂಬಂಧಿಸಿದ ಮೂರು ಮೌಲ್ಯಗಳು.
>> ಈಗ, ನಾವು ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಕೊಡು ಯೋಚಿಸಿರುವಿರಿ ರೀತಿಯ ಮಾಡಬಹುದು.
ಕ್ಷಮಿಸಿ. ವೊಡುನಿಟ್ ಬಗ್ಗೆ ಯೋಚಿಸಿ.
ನಮ್ಮ ಸುಳಿವನ್ನು ಕಡತ ಮಾಡಿಕೊಂಡು, ನಂತರ ನಾವು ಮಾಡಲು ಬಯಸುವ ಇದು ಪಿಕ್ಸೆಲ್ ಮೂಲಕ ಪಿಕ್ಸೆಲ್ ನಲ್ಲಿ ಓದಲು
ನಾವು ಓದಬಹುದಾದ ರೂಪದಲ್ಲಿ ಅದನ್ನು ಔಟ್ಪುಟ್ ಇದರಿಂದ ನಂತರ ಹೇಗಾದರೂ ಆ ಪಿಕ್ಸೆಲ್ಗಳು ಬದಲಾಯಿಸಬಹುದು.
ಮತ್ತು ಆದ್ದರಿಂದ ಔಟ್ಪುಟ್ ಮಾಡಲು, ನಾವು verdict.bmp ಫೈಲ್ ಆಗಿ ಪಿಕ್ಸೆಲ್ ಮೂಲಕ ಪಿಕ್ಸೆಲ್ ಬರೆಯಲು ನೀನು.
ಹಾಗೆ ಮಾಡಲು ಸಾಕಷ್ಟು ಭಾಸವಾಗುತ್ತದೆ. ನಾವು ಅರ್ಥ.
ಆದ್ದರಿಂದ ನಾವು ಮಾಡಿದ ನಾವು ನಿಜವಾಗಿ ನಿಮಗೆ ಒದಗಿಸಲಾದ ಹೊಂದಿದೆ copy.c.
ಏನು copy.c ಮಾಡುತ್ತದೆ ಕೇವಲ ನಿರ್ದಿಷ್ಟ ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತದ ನಿಖರ ಪ್ರತಿಯನ್ನು ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದು ಹೊರತರುವ ಹೊಂದಿದೆ.
ಆದ್ದರಿಂದ ಈ ಈಗಾಗಲೇ, ನೀವು ಕಡತವನ್ನು ತೆರೆಯುತ್ತದೆ ಪಿಕ್ಸೆಲ್ ಮೂಲಕ ಪಿಕ್ಸೆಲ್ ರಲ್ಲಿ ಓದುತ್ತದೆ
ಮತ್ತು ನಂತರ ಒಂದು ಔಟ್ಪುಟ್ ಫೈಲ್ ಆಗಿ ಅದನ್ನು ಬರೆಯುತ್ತಾರೆ.
>> ಅವರ ಆ ಒಂದು ಗಮನಿಸೋಣ.
ಈ, ಸರಿಯಾದ ಬಳಕೆಯ ಖಾತರಿ ಇದೆ
ಇಲ್ಲಿ ಕಡತದ ಗೆಟ್ಟಿಂಗ್.
ಏನು ಮಾಡುತ್ತದೆ, ಇದನ್ನು ನಾವು ಇಲ್ಲಿ infile ರಲ್ಲಿ ಜಾರಿಗೆ ನಾವು ಏನು ಎಂದು ಇನ್ಪುಟ್ ಫೈಲ್ ಹೊಂದಿಸುತ್ತದೆ ಆಗಿದೆ
ಇದು ನಮ್ಮ ಎರಡನೇ ಆಜ್ಞಾ ಸಾಲಿನ ಆರ್ಗುಮೆಂಟನ್ನು ಹೊಂದಿದೆ.
ನಾವು ಕಡತವನ್ನು ತೆರೆಯಲು ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪರಿಶೀಲಿಸುತ್ತದೆ.
ನಾವು ಇಲ್ಲಿ ಹೊಸ outfile ಮಾಡಬಹುದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪರಿಶೀಲಿಸುತ್ತದೆ.
ನಂತರ ಈ ಇಲ್ಲಿ ಏನು, ಇದು ಮೂಲತಃ ಆರಂಭದಿಂದಲೂ ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತವನ್ನು ಓದುವ ಆರಂಭವಾಗುತ್ತದೆ.
ಪ್ರಾರಂಭದಲ್ಲಿ, ನಾವು ತಿಳಿದಿರುವಂತೆ, BITMAPFILEHEADER ಒಳಗೊಂಡಿದೆ
ಮತ್ತು ಆದ್ದರಿಂದ ಬಿಟ್ಗಳು ಆ ಅನುಕ್ರಮಗಳನ್ನು ನೇರವಾಗಿ BITMAPFILEHEADER ತುಂಬಲು ಕಾಣಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ಇಲ್ಲಿರುವುದು ಎಂದು BITMAPFILEHEADER BF ಹೇಳುತ್ತಾರೆ -
ಆ ರೀತಿಯ BITMAPFILEHEADER ನಮ್ಮ ಹೊಸ ವೇರಿಯಬಲ್ ಇಲ್ಲಿದೆ -
ನಾವು ದಿಕ್ಸೂಚಕ ಓದುವುದಕ್ಕೆ ಯಾವ BF ಒಳಗೆ ಇರಿಸಬೇಕಿರುವ ನೀನು, ಇದು ನಮ್ಮ infile ಹೊಂದಿದೆ.
ನಾವು ಎಷ್ಟು ಓದಲು ಇಲ್ಲ?
ನಾವು ಇಡೀ BITMAPFILEHEADER ಹೊಂದಿರುತ್ತವೆ ಅಗತ್ಯವಿದೆ ಎಷ್ಟು ಬೈಟ್ಗಳಲ್ಲಿ ಓದಲು.
ಹಾಗೆಯೇ, ಆ ಮಾಹಿತಿಯನ್ನು ಹೆಡರ್ ನಾವು ಏನು ಇಲ್ಲಿದೆ.
ಆದ್ದರಿಂದ ನಾವು, infile ನಮ್ಮ ಕಡತದ ಉದ್ದಕ್ಕೂ ಮುಂದುವರೆದಿದೆ ನೀವು
ಮತ್ತು ನಾವು ಆ ಬಿಟ್ಗಳು ಮತ್ತು ಬೈಟ್ಗಳು ಓದುವ ನೀವು ಮತ್ತು ನಾವು ನೇರವಾಗಿ ಅವುಗಳನ್ನು ಪ್ಲಗಿಂಗ್ ನೀವು
ನಾವು ಮಾಡುವ ನೀವು ಅಸ್ಥಿರ ಈ ಸಂದರ್ಭಗಳಲ್ಲಿ ಒಳಗೆ.
ಇಲ್ಲಿ ನಾವು ಬಿಟ್ಮ್ಯಾಪ್ ಒಂದು ಬಿಟ್ಮ್ಯಾಪ್ ಎಂದು ಖಚಿತವಾಗಿ ನೀವು ಮಾಡುತ್ತಿರುವಿರಿ.
>> ಈಗ ನಾವು, ಒಂದು outfile ಹೊಂದಿವೆ?
ನಾವು ರಚಿಸುವಾಗ ಇದು ನಿಂತಿದೆ ಆದ್ದರಿಂದ, ಇದು ಖಾಲಿ ಇಲ್ಲಿದೆ.
ನಾವು ಮೂಲತಃ ಆರಂಭದಿಂದ ಹೊಸ ಬಿಟ್ಮ್ಯಾಪ್ ರಚಿಸಲು ಹೊಂದಿರುತ್ತವೆ.
ನಾವು ಹಾಗೆ ನಾವು ಫೈಲ್ ಹೆಡರ್ ನಲ್ಲಿ ನಕಲಿಸಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಹೊಂದಿದೆ
ಮತ್ತು ಕೇವಲ infile ರೀತಿಯ ಮಾಹಿತಿಯನ್ನು ಹೆಡರ್ ಹೊಂದಿದೆ.
ಮತ್ತು BF ವೇರಿಯಬಲ್ ಎಂದು ನೆನಪಿಡಿ - ನಾವು ಏನು ನಾವು ಬರೆಯಲು ಆಗಿದೆ
ರೀತಿಯ BITMAPFILEHEADER ನ, ನಾವು ಏನು ನಾವು ವಿಷಯವನ್ನು ಬಳಸಲು ಆದ್ದರಿಂದ
outfile ಆಗಿ ಬರೆಯಲು.
ಇಲ್ಲಿ, ನಾವು ಪ್ಯಾಡಿಂಗ್ ಬಗ್ಗೆ ಮಾತನಾಡಿದರು ನೆನಪಿಡಿ
ನಾವು ಹೊಂದಿರುವ ಪಿಕ್ಸೆಲ್ಗಳು ಪ್ರಮಾಣವನ್ನು 4 ಒಂದು ಬಹು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪ್ರಮುಖ ಹೇಗೆ.
ಈ ನೀವು ಎಷ್ಟು ಪ್ಯಾಡಿಂಗ್ ಲೆಕ್ಕಹಾಕಲು ಒಂದು ಬಹಳ ಉಪಯುಕ್ತ ಸೂತ್ರವು
ನಿಮ್ಮ ಕಡತ ಅಗಲ ನೀಡಲಾಗಿದೆ.
ನಾನು ನೀವು ಹುಡುಗರಿಗೆ copy.c ನಾವು ಪ್ಯಾಡಿಂಗ್ ಗಣಿಸಲು ಸೂತ್ರವನ್ನು ಹೊಂದಿರುವ ನೆನಪಿಡುವ ಬಯಸುವ.
ಸರಿ? ಆದ್ದರಿಂದ ಎಲ್ಲರೂ ನೆನಪು. ಗ್ರೇಟ್.
ಆದ್ದರಿಂದ copy.c ಏನು ಮುಂದಿನ ಇದು ಪರಿಶೀಲನರೇಖೆಗಳು ಎಲ್ಲಾ ಮೇಲೆ iterates ಹೊಂದಿದೆ.
ಇದು ಮೊದಲ ಸಾಲುಗಳಲ್ಲಿ ಸಾಗುವ ಮತ್ತು ನಂತರ ಅದನ್ನು ಓದುವ ಪ್ರತಿ ಟ್ರಿಪಲ್ ಸಂಗ್ರಹಿಸುತ್ತದೆ
ತದನಂತರ outfile ಅದನ್ನು ಬರೆಯುತ್ತಾರೆ.
ಆದ್ದರಿಂದ ಇಲ್ಲಿ ನಾವು ಒಂದು ಸಮಯದಲ್ಲಿ ಕೇವಲ ಒಂದೇ RGB ಟ್ರಿಪಲ್ ಓದುವ ನೀವು
ತದನಂತರ outfile ಆಗಿ ಅದೇ ಟ್ರಿಪಲ್ ಇರಿಸಿದೆ.
ಟ್ರಿಕಿ ಭಾಗವಾಗಿ, ಪ್ಯಾಡಿಂಗ್ ಒಂದು RGB ತ್ರಿವಳಿ ಎಂದು ಹೊಂದಿದೆ
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು RGB ಮೂರು ಆ ಪ್ಯಾಡಿಂಗ್ ಪ್ರಮಾಣವನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ.
ನಾವು ಮಾಡಬೇಕು ವಾಸ್ತವವಾಗಿ ಕೇವಲ, ನಮ್ಮ ಫೈಲ್ ಸ್ಥಾನವನ್ನು ಸೂಚಕ ಸರಿಸಲು ನಮ್ಮ ಕರ್ಸರ್ ಸರಿಸು ಇದೆ
ಮುಂದಿನ ಸಾಲು ಎಂಬುದನ್ನು ಎಲ್ಲಾ ಪ್ಯಾಡಿಂಗ್ ಮೇಲೆ ತೆರಳಿ ರೀತಿಯ ಗೆ.
ತದನಂತರ ಈ ಏನು ನಕಲನ್ನು ನೀವು ಪ್ಯಾಡಿಂಗ್ ಸೇರಿಸಲು ಬಯಸಬಹುದು ಹೇಗೆ ನೀವು ತೋರಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ, ನಾವು ಎಷ್ಟು ಪ್ಯಾಡಿಂಗ್ ಲೆಕ್ಕ ಮಾಡಿದ
ಆದ್ದರಿಂದ ನಾವು 0 ಸೆ ನ ಪ್ಯಾಡಿಂಗ್ ಸಂಖ್ಯೆ ಅಗತ್ಯವಿದೆ ಎಂದರ್ಥ.
ಏನು ಮಾಡುತ್ತದೆ ನಮ್ಮ outfile ಆಗಿ 0 ಸೆ ನ ಪ್ಯಾಡಿಂಗ್ ಸಂಖ್ಯೆ ಈಡಾಗಿಸುವ ಲೂಪ್ ಒಂದು ಆಗಿದೆ.
ತದನಂತರ ಅಂತಿಮವಾಗಿ, ನೀವು ಎರಡೂ ಕಡತಗಳನ್ನು ಮುಚ್ಚಿ. ನೀವು infile ಹಾಗೆಯೇ outfile ಮುಚ್ಚಿ.
>> ಆದ್ದರಿಂದ ಹವ್ copy.c ಕೃತಿಗಳು
ಮತ್ತು ಬಹಳ ಉಪಯುಕ್ತ ಎಂದು ವಿಶೇಷವೇನು.
ಬದಲಿಗೆ ಕೇವಲ ವಾಸ್ತವವಾಗಿ ನೇರವಾಗಿ ನಕಲು ಮತ್ತು ಅಂಟಿಸಲು ಆಫ್
ಅಥವಾ ಅದನ್ನು ನೋಡಿ ಮತ್ತು ನೀವು ಬಯಸುವ ಯಾವುದೇ ನಮೂದಿಸುವುದನ್ನು
ನೀವು, ಟರ್ಮಿನಲ್ ಈ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ ಬಯಸಬಹುದು
ಒಂದು ಹೊಸ ಕಡತವನ್ನು ರಚಿಸುತ್ತದೆ CP copy.c whodunit.c, whodunit.c,
ಆ ನಕಲು ಮಾಡುವಂತೆ ನಿಖರ ಅದೇ ವಿಷಯವನ್ನು ಒಳಗೊಂಡಿದೆ.
ಆದ್ದರಿಂದ ನಾವು ಏನು ಮಾಡಬಹುದು ಚೌಕಟ್ಟನ್ನು ಮಾಹಿತಿ ಮೇಲೆ ನಿರ್ಮಿಸಲು ಮತ್ತು ಸಂಪಾದಿಸಲು ಆ ಬಳಸುತ್ತವೆ
ನಮ್ಮ ವೊಡುನಿಟ್ ಕಡತ.
>> ಈ ನಮ್ಮ ಗೆ-DOS ವೊಡುನಿಟ್ ಫಾರ್ ಮಾಡಲು, ಆದರೆ ಏನು copy.c ಮಾಡುತ್ತದೆ
ವಾಸ್ತವವಾಗಿ ನಮಗೆ ಅವುಗಳನ್ನು ಅತ್ಯಂತ ನೋಡಿಕೊಳ್ಳುತ್ತಾರೆ ಇದೆ.
ನಾವು ಮುಂದಿನ ಮಾಡಬೇಕಾದ್ದು ಎಲ್ಲಾ ಅಗತ್ಯವಿರುವ ಪಿಕ್ಸೆಲ್ಗಳು ಬದಲಾವಣೆ
ವಾಸ್ತವವಾಗಿ ಕಡತ ಓದಬಲ್ಲ ಮಾಡಲು.
ರೀತಿಯ RGBTRIPLE ಒಂದು ನಿರ್ದಿಷ್ಟ ವೇರಿಯಬಲ್ ಹಾಗೆ, ಟ್ರಿಪಲ್ ನೀಡಿರುವ ಪಿಕ್ಸೆಲ್ಗೂ ನೆನಪಿಡಿ,
ನೀವು ನೀಲಿ, ಹಸಿರು, ಮತ್ತು ಕೆಂಪು ಮೌಲ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.
ಆ HANDY ಬರುತ್ತವೆ ಇನ್ನು ನೀವು ಅವುಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ವೇಳೆ ಏಕೆಂದರೆ,
ನೀವು ಸಹ, ಅವುಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಎಂದರ್ಥ
ಮತ್ತು ನೀವು ಅವುಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು ಎಂದು.
>> ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಕೆಂಪು ಭೂತಗನ್ನಡಿಯಿಂದ ಉದಾಹರಣೆಗೆ ಮತ್ತೆ ಹೋದಾಗ
ಮೂಲತಃ, ಎಂದು ನಮಗೆ ಶೋಧಕದ ಒಂದು ರೀತಿಯ ನಟನೆಯನ್ನು ಮಾಡಿದರು.
ಹಾಗಾಗಿ ನಾವು ಬಯಸುವ ನಾವು ಒಳಬರುತ್ತಿದೆ ಎಂದು ಮೂರು ಎಲ್ಲಾ ಫಿಲ್ಟರ್ ಬಯಸುವ ಆಗಿದೆ
ಇದನ್ನು ಮಾಡಲು ಅನೇಕ ಮಾರ್ಗಗಳಿವೆ.
ಮೂಲಭೂತವಾಗಿ, ನೀವು ಬಯಸುವ ಶೋಧಕದ ಯಾವುದೇ ರೀತಿಯ ಮಾಡಬಹುದು.
ಬಹುಶಃ ನೀವು ಎಲ್ಲಾ ಕೆಂಪು ಪಿಕ್ಸೆಲ್ಗಳು ಬದಲಾಯಿಸಲು ಬಯಸುವ
ಅಥವಾ ಬಹುಶಃ ನೀವು ಬೇರೆ ಬಣ್ಣಕ್ಕೆ ಬೇರೆ ಬಣ್ಣ ಪಿಕ್ಸೆಲ್ ಬದಲಾಯಿಸಲು ಬಯಸುವ.
ಅದು ನಿಮಗೆ ಬಿಟ್ಟಿದ್ದು.
ನೀವು ಪಿಕ್ಸೆಲ್ ಏನು ಬಣ್ಣವಾಗಿದೆ ಪರಿಶೀಲಿಸಬಹುದು ನೆನಪಿಡಿ
ನೀವು ಮೂಲಕ ನೀನು ಮತ್ತು ನಂತರ ನೀವು ಇದನ್ನು ಬದಲಾಯಿಸಬಹುದು.
>> ಸರಿ. ಆದ್ದರಿಂದ ವೊಡುನಿಟ್ ಇಲ್ಲಿದೆ.
ಒಮ್ಮೆ ನೀವು ವೊಡುನಿಟ್ ರನ್, ನೀವು ಅಪರಾಧದ ಅಪರಾಧಿ ಯಾರು ಗೊತ್ತು ಮಾಡುತ್ತೇವೆ.
>> ಈಗ ನಾವು ಮರುಗಾತ್ರಗೊಳಿಸಿ ಹೋಗಲು ನೀನು.
ನಾವು ಇನ್ನೂ ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ವ್ಯವಹರಿಸುವಾಗ ಎಂದು ನೀನು.
ನಾವು ಹೊಂದಿದೆ ಮಾಡಲು ನೀನು ನಾವು ಇನ್ಪುಟ್ ಬಿಟ್ಮ್ಯಾಪ್ ಹೊಂದಿರುವ ನೀನು
ಮತ್ತು ನಾವು ಹಲವು ಪಾಸ್ ಮತ್ತು ನಂತರ outfile ಬಿಟ್ಮ್ಯಾಪ್ ಪಡೆಯಲು ನೀನು
ಮೂಲಭೂತ N ಮಾಪನ ನಮ್ಮ infile ಎಲ್ಲಿ.
ನನ್ನ ಫೈಲ್ ಕೇವಲ ಒಂದು ಪಿಕ್ಸೆಲ್ ದೊಡ್ಡದಾಗಿದೆ ಸೇ.
ನನ್ನ N 3 3, ಸ್ಕೇಲಿಂಗ್ ಎಂದು ನಂತರ, ನಂತರ ನಾನು, ಪಟ್ಟು ಪಿಕ್ಸೆಲ್ N ಸಂಖ್ಯೆ ಪುನರಾವರ್ತಿಸಲು ಎಂದು
ಆದ್ದರಿಂದ 3 ಬಾರಿ, ಮತ್ತು ನಂತರ ಕೂಡ 3 ಬಾರಿ ಅದನ್ನು ಅಳೆಯಲು.
ನೀವು ನಾನು ಎಂದು ಅಡ್ಡಲಾಗಿ ಲಂಬವಾಗಿ ಅಲ್ಲದೇ ಅದನ್ನು ಅಳೆಯುವುದು ನಾನು ನೋಡಿ.
>> ತದನಂತರ ಇಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆ.
ನೀವು N = 2, ನೀವು ಮೊದಲು ನೀಲಿ ಪಿಕ್ಸೆಲ್ ಎರಡು ಬಾರಿ ಅಲ್ಲಿ ಪುನರಾವರ್ತಿತ ಎಂದು ನೋಡಿ
ಅಡ್ಡಲಾಗಿ ಎರಡು ಬಾರಿ ಲಂಬವಾಗಿ ಮತ್ತು.
ಮತ್ತು ನಂತರ ಮುಂದುವರಿಯುತ್ತದೆ, ಮತ್ತು ಆದ್ದರಿಂದ ನೀವು ಎರಡು ನಿಮ್ಮ ಮೂಲ ಚಿತ್ರದ ನೇರ ಸ್ಕೇಲಿಂಗ್ ಹೊಂದಿರುತ್ತವೆ.
>> ನಾವು ಈ ವಿವರ ಸೂಡೊಕೋಡ್ಗಳನ್ನು ಗೆ ವೇಳೆ ಆದ್ದರಿಂದ, ನಾವು ಕಡತವನ್ನು ತೆರೆಯಲು ಬಯಸುವ.
ನಂತರ, ನಾವು ಇಲ್ಲಿ ಹಿಂತಿರುಗಿ ವೇಳೆ ತಿಳಿಸುವ
ನಾವು outfile ಸಂಬಂಧಿಸಿದ ಅಗಲ infile ಸಂಬಂಧಿಸಿದ ಅಗಲ ಭಿನ್ನವಾಗಿರಬೇಕು ಹೋಗುವ ಎಂದು ನೋಡಿ.
ಎಂದು ಅರ್ಥ ಏನು?
ನಮ್ಮ ಹೆಡರ್ ಮಾಹಿತಿಯನ್ನು ಬದಲಾಯಿಸಲು ಹೋಗುವ ಅಂದರೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಮಾಡಲು ಬಯಸುವಿರಿ, ಹೆಡರ್ ಮಾಹಿತಿಯನ್ನು ಅಪ್ಡೇಟ್ ಆಗಿದೆ
ನೀವು copy.c ಚೌಕಟ್ಟಿನೊಳಗೆ ಕಾರ್ಯ ಮಾಡಿದಲ್ಲಿ ನಾವು ಕಡತಗಳಲ್ಲಿ ಓದಿದಾಗ ಎಂದು ತಿಳಿದಿದ್ದ,
ನಾವು ಈಗಾಗಲೇ ಗಾತ್ರ ಏನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ವಿಷಯಗಳನ್ನು ಒಂದು ವೇರಿಯೇಬಲ್ ಹೊಂದಿರುತ್ತವೆ.
ಹಾಗೆ ಒಮ್ಮೆ ನೀವು ಏನು ಬಯಸಬಹುದು ಆ ನಿರ್ದಿಷ್ಟ ಅಸ್ಥಿರ ಬದಲಾವಣೆ, ಹೊಂದಿಲ್ಲ.
ನೀವು struct ಹೊಂದಿದ್ದರೆ ನೀವು ಒಳಗೆ ಅಸ್ಥಿರ ಪ್ರವೇಶಿಸಲು ಹೇಗೆ, ನೆನಪಿಡಿ.
ನೀವು ಬಲ, ಡಾಟ್ ಆಯೋಜಕರು ಬಳಸಲು?
ಆ ಬಳಸಿಕೊಂಡು ಆದ್ದರಿಂದ, ನೀವು ಹೆಡರ್ ಮಾಹಿತಿಯನ್ನು ಬದಲಾಯಿಸಲು ಅಗತ್ಯವಿದೆ ಎಂದು ತಿಳಿದಿದೆ.
ಇಲ್ಲಿ ಕೇವಲ ನಿಮ್ಮ ಫೈಲ್ ಬದಲಾಗುತ್ತಿರುವ ಹೋಗುವುದಾಗಿ ವಾಸ್ತವ ಅಂಶಗಳ ಪಟ್ಟಿ ಇಲ್ಲಿದೆ.
ಕಡತ ಗಾತ್ರ, ಚಿತ್ರ, ಮತ್ತು ಅಗಲ ಮತ್ತು ಎತ್ತರ ಬದಲಾಗುತ್ತಿರುವ ಏರಲಿದೆ.
ಆದ್ದರಿಂದ, ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ನಕ್ಷೆ ಹಿಂದಕ್ಕೆ ಹೋಗಿ
ಇದು ಕಡತ ಹೆಡರ್ ಅಥವಾ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವ ಮಾಹಿತಿಯನ್ನು ಹೆಡರ್ ನ ಎಂಬುದನ್ನು ನೋಡಲು
ಮತ್ತು ನಂತರ ಬೇಕಾದ ಬದಲಾಯಿಸಬಹುದು.
ಮತ್ತೆ, CP copy.c resize.c ಹೇಳುತ್ತಾರೆ.
ಆ resize.c ಈಗ ನಕಲನ್ನು ಒಳಗೆ ಹೊಂದಿತ್ತು ಎಂದು ಎಲ್ಲವನ್ನೂ ಹೊಂದಿರುವ ಅರ್ಥ
ನಕಲನ್ನು ನಮಗೆ ಪಿಕ್ಸೆಲ್ ಪ್ರತಿ scanline ಪಿಕ್ಸೆಲ್ ಗೆ ಓದುವ ರೀತಿಯಲ್ಲಿ ಒದಗಿಸುತ್ತದೆ ಏಕೆಂದರೆ.
ಈಗ ಹೊರತುಪಡಿಸಿ, ಬದಲಿಗೆ ನಾವು ವೊಡುನಿಟ್ ಮಾಡಿದಂತೆಯೇ ನಂತಹ ಕೇವಲ ಮೌಲ್ಯಗಳು ಬದಲಾಗುವ,
ನಾವು ಮಾಡಲು ಬಯಸುವ ನಾವು ಅನೇಕ ಪಿಕ್ಸೆಲ್ಗಳಲ್ಲಿ ಬರೆಯಲು ಬಯಸುವ ಆಗಿದೆ
ಎಲ್ಲಿಯವರೆಗೆ ನಮ್ಮ N 1 ಹೆಚ್ಚಾಗಿರುವುದರಿಂದ.
>> ನಂತರ ನಾವು ಮಾಡಲು ಬಯಸುವ, ನಾವು N ಅದಕ್ಕೆ ಅಡ್ಡಲಾಗಿ ಇದು ವಿಸ್ತಾರಗೊಳಿಸಬಹುದು ಬಯಸುವ ಆಗಿದೆ
ಹಾಗೆಯೇ N ಮೂಲಕ ಲಂಬವಾಗಿ ಇದು ವಿಸ್ತಾರಗೊಳಿಸಬಹುದು.
ಹೇಗೆ ನಾವು ಏನು ಮಾಡಬಹುದು?
ನಿಮ್ಮ N 2 ಸೇ ಮತ್ತು ಈ ನಿರ್ದಿಷ್ಟ infile ಹೊಂದಿರುತ್ತವೆ.
ನಿಮ್ಮ ಕರ್ಸರ್, ಮೊದಲ ಒಂದು ಆರಂಭವಾಗುವುದು ಹಾಕುತ್ತದೆ
N 2 ವೇಳೆ ಮತ್ತು ನೀವು ಏನು ಮಾಡಲು ಬಯಸುವ, ಆ 2 ರಲ್ಲಿ ಮುದ್ರಿಸಲು ಬಯಸುವ.
ಆದ್ದರಿಂದ ನೀವು ಆ 2 ರಲ್ಲಿ ಮುದ್ರಿಸಿ.
ನಂತರ ನಿಮ್ಮ ಕರ್ಸರ್, ಕೆಂಪು ಒಂದು ಇದು ಮುಂದಿನ ಪಿಕ್ಸೆಲ್, ಸರಿಸಲು ಹೋಗುತ್ತದೆ
ಮತ್ತು ಇದು ಮೊದಲು ಆಟದ ಮೇಲೆ ಸೇರಿಸುವುದರಿಂದ, ಆ ಕೆಂಪು ಬಣ್ಣದವು 2 ಮುದ್ರಿಸುತ್ತದೆ ಹೋಗುವುದಿಲ್ಲ.
ನಂತರ ಕರ್ಸರ್ ಮುಂದಿನ ಪಿಕ್ಸೆಲ್ ಸರಿಸಲು ಮತ್ತು ಆ 2 ರಲ್ಲಿ ರಚಿಸುತ್ತೇನೆ.
ನೀವು ಇಲ್ಲಿಯೇ ಈ ಏನು copy.c ಚೌಕಟ್ಟನ್ನು, ಮತ್ತೆ ನೋಡಿದರೆ
ಅದು RGB ತ್ರಿವಳಿ ತ್ರಿವಳಿ ಎಂಬ ಹೊಸ ವೇರಿಯಬಲ್ ಹೊಸ ಉದಾಹರಣೆಗೆ ಸೃಷ್ಟಿಸುತ್ತದೆ ಇದೆ.
ಮತ್ತು ಇದನ್ನು ಓದುತ್ತದೆ ಇಲ್ಲಿ ಅದು infile 1 RGBTRIPLE ರಿಂದ ಓದುತ್ತದೆ
ಮತ್ತು ಟ್ರಿಪಲ್ ವೇರಿಯಬಲ್ ಒಳಗೆ ಅದನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ನೀವು ವಾಸ್ತವವಾಗಿ ನಿರ್ದಿಷ್ಟ ಪಿಕ್ಸೆಲ್ ಪ್ರತಿನಿಧಿಸುವ ಒಂದು ವೇರಿಯೇಬಲ್ ಹೊಂದಿರುತ್ತವೆ.
ನಂತರ ನೀವು ಮಾಡಲು ಬಯಸಬಹುದು ಏನು, ಬರೆಯಲು ಯಾವಾಗ ಲೂಪ್ ಒಂದು ಆಗಿ fwrite ಹೇಳಿಕೆಯನ್ನು ಆವರಿಸು ಆಗಿದೆ
ಎಂದು ಅಗತ್ಯವಿದೆ ಬಾರಿ ನಿಮ್ಮ outfile ಅದನ್ನು ಬರೆಯುತ್ತಾರೆ.
ಸಾಕಷ್ಟು ಸರಳವಾಗಿದೆ.
ಕೇವಲ ಮೂಲತಃ ಬರಹದ N ಅಡ್ಡಲಾಗಿ ಇದು ಅಳೆಯುವ ಬಾರಿ ಪುನರಾವರ್ತಿಸಿ.
>> ಆದರೆ ನಾವು ನಮ್ಮ ಪ್ಯಾಡಿಂಗ್ ಬದಲಾಯಿಸಲು ಹೋಗುತ್ತದೆ ಎಂದು ನೆನಪಿಡುವ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.
ಮೊದಲು, ನಾವು ಉದ್ದ 3 ಏನೋ ತಿಳಿಸಿದ.
ನಂತರ ನಾವು ಎಷ್ಟು ಪ್ಯಾಡಿಂಗ್ ರಲ್ಲಿ ಸೇರಿಸುವುದು? ಕೇವಲ ಒಂದು ಹೆಚ್ಚು 4 ಒಂದು ಬಹು ಮಾಡಲು.
ಆದರೆ ನಾವು N = 2 ಈ ನಿರ್ದಿಷ್ಟ ಚಿತ್ರದ ಅಳೆಯುವುದು ನೀವು ಹೇಳಬಹುದು.
ಆದ್ದರಿಂದ ಎಷ್ಟು ನೀಲಿ ಪಿಕ್ಸೆಲ್ಗಳು ನಾವು ಕೊನೆಯಲ್ಲಿ ಎಂದು? ನಾವು 6 ಹೊಂದಿರುತ್ತದೆ.
1, 2, 3, 4, 5, 6. ಎಲ್ಲಾ ಸರಿ.
6 4 ಒಂದು ಬಹು ಅಲ್ಲ. 4 ಹತ್ತಿರದ ಬಹು ಯಾವುದು? ಆ 8 ಎಂದು ವಿಶೇಷವೇನು.
ನಾವು ನಿಜವಾಗಿಯೂ ಅಲ್ಲಿ ಪ್ಯಾಡಿಂಗ್ 2 ಅಕ್ಷರಗಳು ಉಳಿದಿವೆ ಎಂದು ನೀನು.
>> ನಾವು ಪ್ಯಾಡಿಂಗ್ ಲೆಕ್ಕಹಾಕಲು ಒಂದು ಸೂತ್ರವನ್ನು ಹೊಂದಿದ್ದರೆ ಯಾರಾದರೂ ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಡಸ್
ಮತ್ತು ಅಲ್ಲಿ ಎಂದು ಇರಬಹುದು?
[ಕೇಳಿಸುವುದಿಲ್ಲ ವಿದ್ಯಾರ್ಥಿ ಪ್ರತಿಕ್ರಿಯೆ] >> ಹೌದು, copy.c. ರೈಟ್.
ನೀವು ಎಷ್ಟು ಪ್ಯಾಡಿಂಗ್ ಲೆಕ್ಕಹಾಕಲು copy.c ಒಂದು ಸೂತ್ರವಿಲ್ಲ
ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರದ ಒಂದು ನಿರ್ದಿಷ್ಟ ಅಗಲವನ್ನು ನೀಡಲಾಗಿದೆ.
ನೀವು ಪ್ಯಾಡಿಂಗ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರಮಾಣದಲ್ಲಿ ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ ಯಾವಾಗ ಆದ್ದರಿಂದ ವಿಶೇಷವೇನು ಎಂದು ಉಪಯೋಗಿಸಲು
ವಾಸ್ತವವಾಗಿ ನೀವು ಸೇರಿಸಲು ಎಷ್ಟು ಪ್ಯಾಡಿಂಗ್ ಔಟ್ ಲೆಕ್ಕಾಚಾರ.
ಆದರೆ ಒಂದು ಟಿಪ್ಪಣಿ, ಆದಾಗ್ಯೂ, ನೀವು ಸರಿಯಾಗಿ ಬಳಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಬಯಸುತ್ತೇವೆ.
ನೀವು ಮೂಲತಃ ಎರಡು ಬಿಟ್ಮ್ಯಾಪ್ ಇಮೇಜ್ಗಳನ್ನು ವ್ಯವಹರಿಸುವಾಗ ಎಂದು ನೀನು ಏಕೆಂದರೆ ಕೇವಲ ಜಾಗರೂಕರಾಗಿರಿ.
ನೀವು ಸರಿಯಾದ ಒಂದು ಬಳಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಬಯಸುತ್ತೇನೆ.
ನೀವು outfile ಫಾರ್ ಪ್ಯಾಡಿಂಗ್ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದಾಗ, ನೀವು outfile ಅಗಲ ಬಳಸಲು ಬಯಸುವ
ಮತ್ತು ಹಿಂದಿನ ಒಂದು ಅಗಲ.
>> ಗ್ರೇಟ್. ಆ ರೀತಿಯ ಅಡ್ಡಲಾಗಿ ಇಡೀ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರ ಎಳೆಯುವ ನೋಡಿಕೊಳ್ಳುತ್ತಾರೆ.
ಆದರೆ ನಾವು ಯಾವ ವಾಸ್ತವವಾಗಿ ಲಂಬವಾಗಿ ಅಲ್ಲದೇ ವ್ಯಾಪಿಸಿಲ್ಲ.
ನಾವು ಸತತವಾಗಿ ನಕಲು ಮುಕ್ತಾಯಗೊಂಡ ಏಕೆಂದರೆ ಸ್ವಲ್ಪ ಚಾತುರ್ಯದ ಏರಲಿದೆ
ಮತ್ತು ಸಾಲು ಬರೆಯುವುದು, ನಮ್ಮ ಕರ್ಸರ್ ಕೊನೆಯಲ್ಲಿ ಎಂದು ಹೋಗುತ್ತದೆ.
ನಾವು ಮತ್ತೆ ಓದಲು ಹಾಗೆ, ಅದು ಮುಂದಿನ ಲೈನ್ ಗೆ ಓದಲು ವಿಶೇಷವೇನು.
ಹಾಗಾಗಿ ನಾವು ನೀವು ಮತ್ತೆ ಆ ಸಾಲುಗಳನ್ನು ನಕಲು ಕೆಲವು ರೀತಿಯಲ್ಲಿ ಹೇಗೆ ರೀತಿಯ ಹೊಂದಿದೆ
ಅಥವಾ ಆ ಸಾಲನ್ನು ತೆಗೆದುಕೊಂಡು ನಂತರ ಮತ್ತೆ ಪುನಃ ಕೇವಲ ರೀತಿಯ.
ನಾನು ರೀತಿಯ ಪ್ರಸ್ತಾಪಿಸುತ್ತಾನೆ ಎಂದು, ಈ ಮಾಡಲು ಅನೇಕ ಮಾರ್ಗಗಳಿವೆ.
ನೀವು ಮೂಲಕ ಹೋಗಿ ನಿರ್ದಿಷ್ಟ scanline ಮೂಲಕ ಓದುವ ಮಾಡಿದಾಗ ನೀವು ಏನು ಎಂದು ಹೇಳಲಾಗಿದೆ
ಮತ್ತು ಅಗತ್ಯ ಬದಲಾವಣೆ, ನಂತರ ಅಂಗಡಿಯ ರೀತಿಯ ಒಂದು ವ್ಯೂಹದಲ್ಲಿ ಆ ಪಿಕ್ಸೆಲ್ಗಳ ಎಲ್ಲಾ.
ನಂತರ ನೀವು ಮತ್ತೆ ಆ ಶ್ರೇಣಿಯನ್ನು ಮುದ್ರಿಸುತ್ತದೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಎಂದು ತಿಳಿದಿರುವ,
ಆದ್ದರಿಂದ ನೀವು ಹಾಗೆ ಮಾಡಲು ಬಳಸಿಕೊಳ್ಳಬಹುದು.
ಇದನ್ನು ಮತ್ತೊಂದು ರೀತಿಯಲ್ಲಿ, ನೀವು ಒಂದು ಸಾಲಿನ ಕೆಳಗೆ ನಕಲಿಸಿ ಎಂದು ಹೇಳಲಾಗಿದೆ
ನೀವು ಮತ್ತೆ ನಕಲಿಸಿ ಅಗತ್ಯವಿದೆ ಎಂದು ಅರ್ಥ, ಆದ್ದರಿಂದ ವಾಸ್ತವವಾಗಿ, ನಿಮ್ಮ ಕರ್ಸರ್ ಸರಿಸು
ಮತ್ತು ಮಾದರಿಯನ್ನು fseek ಬಳಸುತ್ತಿರುವ ಹೋಗುವುದಿಲ್ಲ.
ನೀವು ನಿಮ್ಮ ಕರ್ಸರ್ ಎಲ್ಲಾ ರೀತಿಯಲ್ಲಿ ಸರಿಸಲು ಮತ್ತು ನಂತರ ಮತ್ತೆ ನಕಲು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವಂತೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.
>> ನಮ್ಮ ಸ್ಕೇಲಿಂಗ್ ಸಂಖ್ಯೆ n ವೇಳೆ ಆದ್ದರಿಂದ, ನಂತರ ಎಷ್ಟು ಬಾರಿ ನಾವು ಹಿಂದಕ್ಕೆ ಹೋಗಲು ಹೊಂದಿರುತ್ತದೆ
ಮತ್ತು ಒಂದು ಸಾಲು ಮತ್ತೆ? >> [ವಿದ್ಯಾರ್ಥಿ] N - 1. >> ಹೌದು, ಪರಿಪೂರ್ಣ. n - 1.
ನಾವು ಒಮ್ಮೆ ಈಗಾಗಲೇ ಮಾಡಿದ, ಆದ್ದರಿಂದ ನಾವು ಹೋಗಿ ಮರಳಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವಂತೆ ಬಯಸುವಿರಿ
N - ಬಾರಿ 1 ಪ್ರಮಾಣವನ್ನು.
ಸರಿ. ಆದ್ದರಿಂದ ನಿಮ್ಮ ಗಣಕತೆರೆ ಫಂಕ್ಷನ್.
>> ಈಗ ನಾವು ನಿಜವಾಗಿಯೂ ಮೋಜಿನ ಭಾಗ ಕೊಡು ಇದು ನನ್ನ ನೆಚ್ಚಿನ pset, ಗೆ ಪಡೆಯಬಹುದು.
ಬದಲಿಗೆ ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ಈ ಸಮಯದಲ್ಲಿ ನಾವು JPEGs ಮಾತಾಡುತ್ತಿದ್ದೀರಿ.
ನಾವು ವಾಸ್ತವವಾಗಿ ಕೇವಲ JPEGs ಒಂದು ಕಡತ ನೀಡಿದ ಇಲ್ಲ,
ನಾವು ಮೂಲತಃ ಕಚ್ಚಾ ಮೆಮೊರಿ ಕಾರ್ಡ್ ರೂಪದಲ್ಲಿ ನೀಡಲಾಗುತ್ತದೆ ಮಾಡುತ್ತಿದ್ದೇವೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ಇದು ಆರಂಭದಲ್ಲಿ ಮಾಹಿತಿ ಮತ್ತು ಕಸ ಮೌಲ್ಯಗಳ ಬಿಟ್ ಒಳಗೊಂಡಿದೆ
ಮತ್ತು ಅದು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು JPEG ಕಡತಗಳಿಗೆ ಒಂದು ಗುಂಪೇ ಹೊಂದಿದೆ.
ನಾವು ಫೋಟೋಗಳನ್ನು ಅಳಿಸಿದ್ದೀರಿ ಅಲ್ಲಿ ಆದರೆ, ನಾವು ಒಂದು ಕಾರ್ಡ್ ಹ್ಯಾಂಡೆಡ್ ನೀವು;
ಫೋಟೋಗಳನ್ನು ಕಾರ್ಡ್ ಸ್ಥಿತವಾಗಿದೆ ಅಲ್ಲಿ ಮುಖ್ಯವಾಗಿ, ನಾವು ಮರೆತು ನಾವು.
ಆದ್ದರಿಂದ ಮರುಪಡೆಯಿರಿ ನಮ್ಮ ಕೆಲಸವನ್ನು ಈ ಕಾರ್ಡ್ ರೂಪದಲ್ಲಿ ಮೂಲಕ ಹೋಗಲು ಹೊಂದಿದೆ
ಮತ್ತು ಮತ್ತೆ ಆ ಚಿತ್ರಗಳನ್ನು ಹೇಗೆ.
>> ಅದೃಷ್ಟವಶಾತ್, JPEG ಕಡತಗಳಿಗೆ ಮತ್ತು ಕಾರ್ಡ್ ಕಡತ ರಚನೆ ಸ್ವಲ್ಪ ಸಹಾಯಕವಾಗುತ್ತದೆ.
ಈ ನಿರ್ದಿಷ್ಟ ರೂಪದಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೆ ಇದು ಖಂಡಿತವಾಗಿಯೂ ಸ್ವಲ್ಪ ಚಾತುರ್ಯದ ಸಾಧ್ಯವಿತ್ತು.
ಪ್ರತಿ JPEG ಕಡತವನ್ನು ವಾಸ್ತವವಾಗಿ ಮೇಲೆ ತಿಳಿಸಿದ ಎರಡು ಸಂಭವನೀಯ ಸೀಕ್ವೆನ್ಸ್ಗಳನ್ನು ಆರಂಭವಾಗುತ್ತದೆ.
ಮೂಲಭೂತವಾಗಿ, ನೀವು ಒಂದು ಹೊಸ JPEG ಫೈಲ್, ಇದ್ದಾಗಲೆಲ್ಲಾ
ಇದು ಅನುಕ್ರಮ ffd8 ffe0 ಅಥವಾ ಇತರ ಒಂದು, ffd8 ffe1 ಎರಡೂ ಆರಂಭವಾಗುತ್ತದೆ.
ತಿಳಿಯಲು ಮತ್ತೊಂದು ಉಪಯುಕ್ತ ವಸ್ತು JPEGs ಸಮೀಪವಿರುವ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂದು.
ಆದ್ದರಿಂದ ಒಂದು JPEG ಫೈಲ್ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಮಾಡುವಾಗ ಇತರೆ ಪ್ರಾರಂಭಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ಮೌಲ್ಯಗಳನ್ನು ನಡುವೆ ಯಾವುದೇ ರೀತಿಯ ಇಲ್ಲ.
ನೀವು ಈಗಾಗಲೇ JPEG ಓದುತ್ತಿದ್ದಾರೆ ನೀವು ಒಮ್ಮೆ, ಒಂದು JPEG ಆರಂಭದಲ್ಲಿ ಹಿಟ್
ನೀವು ಹಿಂದಿನ ಹಾಗೂ ಮುಂದಿನ ಒಂದು ಆರಂಭದಲ್ಲಿ ಅಂತ್ಯ ಹಿಟ್ ಎಂಬುದನ್ನು.
>> ಈ ದೃಶ್ಯೀಕರಿಸುವುದು ರೀತಿಯ ನಾನು ಒಂದು ರೂಪರೇಖೆಯ ಮಾಡಿದ.
JPEGs ಬಗ್ಗೆ ಇನ್ನೊಂದು ವಿಷಯ, ನಾವು ಒಂದು ಸಮಯದಲ್ಲಿ 512 ಬೈಟ್ಗಳು ಸರಣಿಗಳನ್ನು ಅವುಗಳನ್ನು ಓದಲು ಮಾಡುತ್ತದೆ
ಹಾಗೆಯೇ ಕಾರ್ಡ್ ಆರಂಭದಲ್ಲಿ.
ನಾವು ಹೀರುವಂತೆ ಏಕೆಂದರೆ ಪ್ರತಿಯೊಂದು ಬೈಟ್ ಪರಿಶೀಲಿಸುವ ಅಗತ್ಯ ಇಲ್ಲ.
ಆದ್ದರಿಂದ ಬದಲಿಗೆ, ನಾವು ಮಾಡಬಹುದು ವಾಸ್ತವವಾಗಿ ಕೇವಲ ಸಮಯದಲ್ಲಿ 512 ಬೈಟ್ಗಳಲ್ಲಿ ಓದಲು
ತದನಂತರ, ಬದಲಿಗೆ ಆ ಸಣ್ಣ ಸಣ್ಣ ಹೋಳುಗಳಾಗಿ ಆ ನಡುವೆ ಪರಿಶೀಲಿಸುವ,
ನಾವು 512 ಬೈಟ್ಗಳು ಆರಂಭದಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು.
ಮೂಲಭೂತವಾಗಿ, ಈ ಚಿತ್ರದಲ್ಲಿ, ನೀವು ನೋಡಿ, ಕಾರ್ಡ್ ಆರಂಭದಲ್ಲಿ ಆಗಿದೆ
ನೀವು ನಿಜವಾದ JPEGs ತಮ್ಮನ್ನು ನಿಜವಾಗಿಯೂ ಸೂಕ್ತ ಎಂದು ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿವೆ.
ಆದರೆ ನಂತರ ಯಾವ ನಾನು ಹೊಂದಿವೆ ಒಂದು JPEG ಎರಡು ಆರಂಭಿಕ ಸರಣಿಗಳ ಒಂದು ಸೂಚಿಸಲು ನಟ.
ಆದ್ದರಿಂದ ನೀವು ಒಂದು ನಕ್ಷತ್ರ ನೋಡಿ ಬಂದಾಗಲೆಲ್ಲಾ, ನೀವು JPEG ಫೈಲ್ ಎಂಬುದನ್ನು.
ತದನಂತರ ಪ್ರತಿ JPEG ಫೈಲ್ 512 ಬೈಟ್ಗಳು ಕೆಲವು ಬಹು ಏರಲಿದೆ
ಆದರೆ ಅದೇ ಅನೇಕ ಇಲ್ಲ.
ನೀವು ಮತ್ತೊಂದು ನಕ್ಷತ್ರ ಹಿಟ್ ವೇಳೆ ನೀವು ಇನ್ನೊಂದು JPEG ಹಿಟ್ ಎಂಬುದನ್ನು ಆ ರೀತಿಯಲ್ಲಿ, ಇದು
ಬೈಟ್ಗಳು ಇನ್ನೊಂದು ಆರಂಭಿಕ ಅನುಕ್ರಮ.
ನಂತರ ನಿಮಗೆ ಇಲ್ಲಿ ಹೊಂದಿವೆ ನೀವು ಸ್ಟಾರ್ ಹಿಟ್ ತನಕ ನೀವು ಮುಂದುವರೆಯುವ ಕೆಂಪು JPEG ಕಡತವನ್ನು ಹೊಂದಿದೆ
ಇದು ಒಂದು ಹೊಸ ಬಣ್ಣವನ್ನು ಸೂಚಿಸುತ್ತದೆ.
ನೀವು ಮುಂದುವರಿಸಲು ಮತ್ತು ನಂತರ ನೀವು ಮತ್ತೊಂದು ನಕ್ಷತ್ರ ಹಿಟ್, ನೀವು ಮತ್ತೊಂದು JPEG ಹಿಟ್
ನೀವು ಕೊನೆಯವರೆಗೆ ಎಲ್ಲಾ ರೀತಿಯಲ್ಲಿ ಮುಂದುವರಿಸಲು.
ನೀವು, ಇಲ್ಲಿ ಕೊನೆಯ ಚಿತ್ರವನ್ನು ಗುಲಾಬಿ ಒಂದು ಆರ್.
ನೀವು ಫೈಲ್ ಪಾತ್ರದ ಕೊನೆಯ ಹಿಟ್ ತನಕ ನೀವು ಕೊನೆಯಲ್ಲಿ ಹೋಗಿ.
ಈ ನಿಜವಾಗಿಯೂ ಉಪಯುಕ್ತ ಎಂದು ಹೋಗುತ್ತದೆ.
>> ಇಲ್ಲಿ ಕೆಲವು ಪ್ರಮುಖ takeaways:
ಕಾರ್ಡ್ ಫೈಲ್, ಒಂದು JPEG ಆರಂಭವಾಗಬೇಕು ಇಲ್ಲ
ಒಂದು JPEG ಆರಂಭವಾಗುತ್ತದೆ ಒಮ್ಮೆ ಆದರೆ, JPEGs ಎಲ್ಲಾ ಪಕ್ಕ ಪರಸ್ಪರ ಅಡ್ಡ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.
>> ಕೊಡು ಕೆಲವು ಸೂಡೊಕೋಡ್ಗಳನ್ನು.
ಮೊದಲ, ನಾವು, ನಮ್ಮ ಕಾರ್ಡ್ ಫೈಲ್ ತೆರೆಯಲು ನೀನು
ಮತ್ತು ನಮ್ಮ ಫೈಲ್ I / O ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತಿರುವ ಹೋಗುವುದಿಲ್ಲ.
ನಾವು ಫೈಲ್ ಕೊನೆಯಲ್ಲಿ ತಲುಪಿದ್ದೀರಿ ರವರೆಗೆ ಕೆಳಗಿನ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವಂತೆ ನೀನು.
ನಾವು ಒಂದು ಸಮಯದಲ್ಲಿ 512 ಬೈಟ್ಗಳು ಓದಲು ನೀನು.
ಮತ್ತು ನಾನು ಇಲ್ಲಿ ಹೇಳಿದರು, ನಾವು ಒಂದು ಬಫರ್ ಅದನ್ನು ಶೇಖರಿಸಲು ನೀನು ಆಗಿದೆ
ನಾವು ಅವರೊಂದಿಗೆ ಮಾಡಲು ನಿಖರವಾಗಿ ತಿಳಿಯಲು ರವರೆಗೂ ಮೂಲತಃ ಆ 512 ಬೈಟ್ಗಳು ಉಳಿಸಿಕೊಳ್ಳುವುದು.
ನಂತರ ನಾವು ಮಾಡಲು ಬಯಸುವ ನಾವು ನಕ್ಷತ್ರ ಅಥವಾ ಹಿಟ್ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಬಯಸುವ ಹೊಂದಿದೆ.
ನಾವು ಆರಂಭಿಕ ಸರಣಿಗಳ ಒಂದು ಹಿಟ್ ಮಾಡಿದ ನಾವು, ಒಂದು ನಕ್ಷತ್ರದ ಹೊಡೆಯಲು ನೀವು,
ನಂತರ ನಾವು ಒಂದು ಹೊಸ JPEG ಫೈಲ್ ಹಿಟ್ ಎಂಬುದನ್ನು.
ನಮಗೆ ಮಾಡಲು ಬಯಸುವಿರಿ ನಾವು ನಮ್ಮ pset4 ಕೋಶದಲ್ಲಿ ಒಂದು ಹೊಸ ಕಡತವನ್ನು ರಚಿಸಲು ಬಯಸುವ ಎಂದು ನೀನು
ಫೈಲ್ ಮಾಡುವ ಮುಂದುವರೆಯಲು.
ಆದರೆ, ನಾವು ಈಗಾಗಲೇ, ಮೊದಲು ಒಂದು JPEG ಮಾಡಿದ ವೇಳೆ
ಆಗ, ಆ ಫೈಲ್ ಕೊನೆಗೊಳಿಸಿ pset4 ಫೋಲ್ಡರ್ಗೆ ತಳ್ಳಿ ಬಯಸುವ
ಆ ಫೈಲ್ ಸಂಗ್ರಹವಾಗಿರುವ ನಿಮಗಿದೆ ಅಲ್ಲಿ ನಾವು ಆ JPEG ಫೈಲ್ ಕೊನೆಗೊಂಡಿತು ಎಂಬುದನ್ನು ಸೂಚಿಸಲು ಇದ್ದರೆ ಏಕೆಂದರೆ,
ನಾವು ಮೂಲತಃ ಅನಿರ್ದಿಷ್ಟ ಪ್ರಮಾಣವನ್ನು ಹೊಂದಿರುತ್ತದೆ. JPEGs ಮುಗಿಯುವುದೇ ಇಲ್ಲವೇನೋ.
ಆದ್ದರಿಂದ, ನಾವು ಒಂದು JPEG ಕಡತವನ್ನು ಓದುವ ಮತ್ತು ನೀವು ಬರೆಯಲು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಬಯಸುವ
ನಾವು ವಿಶೇಷವಾಗಿ ಮುಂದಿನ ತೆರೆಯಿರಿ ಸಲುವಾಗಿ ಎಂದು ಅಳಿಸಲು.
ನಾವು ಅನೇಕ ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಬಯಸುವಿರಿ.
ನಾವು ನಮ್ಮ ಬಫರ್ ಹೊಸ JPEG ಆರಂಭದಲ್ಲಿ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಬಯಸುವ
ಮತ್ತು ನಾವು ಈಗಾಗಲೇ ಒಂದು JPEG ಕಂಡು ಬಂದಲ್ಲಿ
ಏಕೆಂದರೆ ಸ್ವಲ್ಪ ನಿಮ್ಮ ಪ್ರಕ್ರಿಯೆ ಬದಲಾಗುತ್ತದೆ.
ನೀವು ಎಲ್ಲಾ ರೀತಿಯಲ್ಲಿ ಮೂಲಕ ಹೋಗಿ ಮತ್ತು ನಂತರ ಆದ್ದರಿಂದ ನೀವು ಕಡತದ ಕೊನೆಯಲ್ಲಿ ಹಿಟ್
ನಂತರ ನೀವು ಏನು ಮಾಡಲು ಬಯಸುವಿರಿ ನೀವು ಪ್ರಸ್ತುತ ತೆರೆಯಲು ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಕ್ಲೋಸ್ ಬಯಸುವಿರಿ ಹೊಂದಿದೆ.
ಎಂದು ಬಹುಶಃ, ನೀವು ಕಳೆದ JPEG ಫೈಲ್ ಕಾಣಿಸುತ್ತದೆ
ಹಾಗೆಯೇ ಕಾರ್ಡ್ ಫೈಲ್ ನೀವು ವ್ಯವಹರಿಸುವಾಗ ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು.
>> ನಾವು ನಿಭಾಯಿಸಲು ಅಗತ್ಯವಿರುವ ಕೊನೆಯಾಗಿ ಅಡಚಣೆಯಾಗಿದೆ ವಾಸ್ತವವಾಗಿ ಒಂದು JPEG ಫೈಲ್ ಮಾಡಲು ಹೇಗೆ
ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಫೋಲ್ಡರ್ಗೆ ತಳ್ಳಿ ಹೇಗೆ.
pset, ನಗರದಲ್ಲಿ ಪ್ರತಿ JPEG ಕೆಳಗಿನ ರೂಪದಲ್ಲಿ ಎಂದು ಅಗತ್ಯವಿದೆ
ಅಲ್ಲಿ ನೀವು ಸಂಖ್ಯೆಯ. JPG.
ಸಂಖ್ಯೆ, ಇದು 0 ಕೂಡ ಆಗಿರಬಹುದು, ನಾವು 000.jpg ಕರೆ.
ನೀವು, ನಿಮ್ಮ ಕಾರ್ಯಕ್ರಮದ ಒಂದು JPEG ಹೇಗೆ ಯಾವಾಗ
ನೀವು ಕಂಡುಬಂದಿಲ್ಲ ಎಂದು ಸಲುವಾಗಿ ಅದನ್ನು ಹೆಸರಿಸಲು ಬಯಸುವ ಎಂದು ನೀನು.
ಇದರ ಅರ್ಥ ಏನು?
ನಾವು ಕಂಡುಬಂದರೆ ಎಷ್ಟು ಗಮನದಲ್ಲಿರಿಸಲು ರೀತಿಯ ಅಗತ್ಯವಿದೆ
ಮತ್ತು ಪ್ರತಿ JPEG ಸಂಖ್ಯೆಯನ್ನು ಏನಾಗಿರಬೇಕೆಂದು.
ಇಲ್ಲಿ ನಾವು sprintf ಕಾರ್ಯ ಲಾಭ ಪಡೆಯಲು ನೀನು.
, Printf ಹೋಲುವ ಇದು ಟರ್ಮಿನಲ್ಗೆ ಅಚ್ಚುಗಳ ಕೇವಲ ರೀತಿಯ ಮೌಲ್ಯವನ್ನು ಔಟ್,
sprintf ಫೋಲ್ಡರ್ ಆಗಿ ಫೈಲ್ ಔಟ್ ಮುದ್ರಿಸುತ್ತದೆ.
ಆದ್ದರಿಂದ ಈ, ಅಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್ ನಂತರ ಯಾವ ನಾನು sprintf, ಶೀರ್ಷಿಕೆ ವೇಳೆ ಹಾಗೆ, ಹಾಗೂ
ಇದು 2.jpg ಮುದ್ರಿಸುತ್ತದೆ ಎಂದು.
ನಾನು ಸರಿಯಾಗಿ ನನ್ನ ಕಡತಗಳನ್ನು ಮುಚ್ಚಿದರೂ ಭಾವಿಸಿ
ನಾನು ಔಟ್ ಬರೆದಿದ್ದಾನೆ ಫೈಲ್ ಹೊಂದಿರಬೇಕು.
ಆದರೆ ಒಂದು ವಿಷಯ ಎಂದು ನಾನು ಇಲ್ಲಿ ಹೊಂದಿರುವ ಕೋಡ್
ಸಾಕಷ್ಟು pset ಅವಶ್ಯಕವಾದ ಪದಗಳನ್ನು ಇಲ್ಲ.
pset ಎರಡನೇ JPEG ಕಡತವನ್ನು ಕೇವಲ 2 002 ಹೆಸರಿನ ಎಂದು ಅಗತ್ಯವಿದೆ.
ಆದ್ದರಿಂದ ನೀವು ಹೆಸರು ಮುದ್ರಿಸುತ್ತದೆ, ನಂತರ ಬಹುಶಃ ನೀವು ಸ್ವಲ್ಪ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಮಾರ್ಪಡಿಸುತ್ತದೆ ಬಯಸಬಹುದು.
>> ಯಾರಾದರೂ ನಾವು ಏನನ್ನಾದರೂ ಮುದ್ರಿಸಲು ನಾವು ಹೆಚ್ಚುವರಿ ಖಾಲಿ ಅವಕಾಶ ಹೇಗೆ ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಡಸ್?
ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] ನೀವು ಶೇಕಡಾ ಚಿಹ್ನೆ ಮತ್ತು 2 ನಡುವೆ 3 ಪುಟ್. >> ಹೌದು, ಪರಿಪೂರ್ಣ.
ನಾವು 3 ಜಾಗ ಬಯಸುವ ಏಕೆಂದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ 3 ಹಾಕುತ್ತೇವೆ.
% 3D ಬಹುಶಃ ನೀವು 002.jpg ಬದಲಾಗಿ 2 ನೀಡುತ್ತದೆ.
sprintf ಕಾರ್ಯ ಆಗಿ ಮೊದಲ ವಾದವನ್ನು, ವಾಸ್ತವವಾಗಿ ಒಂದು ಚಾರ್ ರಚನೆ
ಇದು ನಾವು ಹಿಂದೆ ತಂತಿಗಳನ್ನು ಎಂದು ತಿಳಿದಿದ್ದರು.
ಆ ವಿಲ್, ಒಂದು ತಾತ್ಕಾಲಿಕ ಶೇಖರಣಾ ಹೆಚ್ಚು ರೀತಿಯ ಕೇವಲ ಪರಿಣಾಮಕ ಸ್ಟ್ರಿಂಗ್ ಶೇಖರಿಸಿಡಲು.
ನೀವು ನಿಜವಾಗಿಯೂ ಈ ವ್ಯವಹರಿಸುವಾಗ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ನೀವು ಅದನ್ನು ಸೇರಿವೆ ಅಗತ್ಯವಿದೆ.
>> ಪ್ರತಿ ಕಡತ ಹೆಸರು ಮೂರು ಪಾತ್ರಗಳು ತೆಗೆದುಕೊಂಡರೆ ಇದು ಹೊಂದಿದೆ, ತಿಳಿದುಕೊಂಡು,
ತದನಂತರ. JPG, ಈ ರಚನೆಯ ಹೇಗೆ ಉದ್ದವಾಗಿರಬೇಕು?
ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಚೆಲ್ಲಿದೆ. ಹೆಸರಿನಲ್ಲಿ ಶೀರ್ಷಿಕೆ ಎಷ್ಟು ಪಾತ್ರಗಳು,?
ಆದ್ದರಿಂದ 3 hashtags, ಅವಧಿ, JPG ಇಲ್ಲ. >> [ವಿದ್ಯಾರ್ಥಿ] 7. >> 7. ಹೆಚ್ಚು.
ನಾವು ಹಾಗೂ ಶೂನ್ಯ ಟರ್ಮಿನೇಟರ್ ಅವಕಾಶ ಬಯಸುವ ನಾವು 8 ಬಯಸುವ ಎಂದು ನೀನು.
>> ಅಂತಿಮವಾಗಿ, ಕೇವಲ, ನೀವು ಕೊಡು ಮಾಡುತ್ತಿದ್ದ ವಾಪಸಾಗುತ್ತೇವೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸೆಳೆಯಲು
ನೀವು ಕೆಲವು ಆರಂಭದಲ್ಲಿ ಮಾಹಿತಿ.
ನೀವು JPEG ಫೈಲ್ ಆರಂಭದಲ್ಲಿ ಹೇಗೆ ತನಕ ನೀವು ಮುಂದುವರಿಸಲು
ಮತ್ತು ಎರಡು ಆರಂಭಿಕ ಅನುಕ್ರಮಗಳನ್ನು ಎರಡೂ ಒಂದು ಮಾಡಬಹುದು.
ನೀವು ಓದಿದ ಮೇಲೆ ಇರಿಸಿಕೊಳ್ಳಲು. ಇಲ್ಲಿ ಪ್ರತಿ ಸ್ಲ್ಯಾಷ್ 512 ಬೈಟ್ಗಳು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ನೀವು ಇನ್ನೊಂದು ಆರಂಭಿಕ ಅನುಕ್ರಮ ಎದುರಿಸಬಹುದು ರವರೆಗೆ ಓದಿದ ಮೇಲೆ ಇಡಲು, ಓದುವಿಕೆ ನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು.
ಒಮ್ಮೆ ನೀವು ಪ್ರಸ್ತುತ JPEG ಕೊನೆಗೊಳ್ಳಬೇಕು ಎಂದು ಹೊಂದಿವೆ - ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು ಕೆಂಪು ಒಂದಾಗಿದೆ,
ಆದ್ದರಿಂದ ನೀವು ಅಂತಿಮವಾಗಿ ನೀವು.
ನೀವು, ನಿಮ್ಮ pset4 ಫೋಲ್ಡರ್ ಆಗಿ ಆ sprintf ಹೆಸರು ಬಯಸುವ
ನಂತರ ನೀವು ಒಂದು ಹೊಸ JPEG ತೆರೆದು ನಂತರ ಓದುವ ನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೀರಿ
ನೀವು ಮುಂದಿನ ಎದುರಿಸಬಹುದು ರವರೆಗೆ.
, ಓದುವಿಕೆ ನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು, ಓದುವಿಕೆ ಮೇಲೆ ಇರಿಸಿ
ತದನಂತರ ಅಂತಿಮವಾಗಿ, ಅಂತಿಮವಾಗಿ, ನೀವು ಕಡತದ ಕೊನೆಯಲ್ಲಿ ತಲುಪಲು ನೀನು
ಆದ್ದರಿಂದ ನೀವು ಕೆಲಸ ಎಂದು ಕೊನೆಯಾಗಿ JPEG ಮುಚ್ಚಿ ಬಯಸುವಿರಿ
sprintf ನಿಮ್ಮ pset4 ಫೋಲ್ಡರ್ ಆಗಿ, ತದನಂತರ ನೀವು ಪಡೆದ ನೀವು ಚಿತ್ರಗಳನ್ನು ಎಲ್ಲಾ ನೋಡಲು ಆ.
ಆ ಚಿತ್ರಗಳನ್ನು ನಿಜವಾಗಿ CS50 ಸಿಬ್ಬಂದಿಯ ಚಿತ್ರಗಳು ಇಲ್ಲಿವೆ
pset ನ ಬೋನಸ್ ಮೋಜಿನ ಭಾಗದಲ್ಲಿ ಬರುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಇದು
ನೀವು ಚಿತ್ರಗಳಲ್ಲಿ TFS ಹುಡುಕಲು ನಿಮ್ಮ ವಿಭಾಗಗಳಲ್ಲಿ ಸ್ಪರ್ಧಾತ್ಮಕ ಮಾಡುತ್ತದೆ
ಮತ್ತು ಅವರೊಂದಿಗೆ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ನೀವು pset ಮಾಡಿದ ಸಾಬೀತುಪಡಿಸಲು
ಆದ್ದರಿಂದ ನೀವು ಸಿಬ್ಬಂದಿ ಚಿತ್ರಗಳಲ್ಲಿ ಅವು ನೋಡಬಹುದು.
ಆದ್ದರಿಂದ ನೀವು ಸಿಬ್ಬಂದಿ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು. ಕೆಲವೊಮ್ಮೆ ನೀವು ಅವರನ್ನು ಮುಟ್ಟಲು ಸಾಧ್ಯವಿದೆ.
ಪ್ರಾಯಶಃ ಅವುಗಳಲ್ಲಿ ಕೆಲವು ನೀವು ದೂರ ರನ್ ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
ನೀವು ಅವರೊಂದಿಗೆ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು.
ಈ ನಡೆಯುತ್ತಿದೆ. Pset ಕಾರಣ ಅದು ಕಾರಣ ಅಲ್ಲ.
ಗಡುವು ನಿರ್ದಿಷ್ಟಪಡಿಸುವಿಕೆಯನ್ನು ಘೋಷಿಸಿತು ಮಾಡಲಾಗುತ್ತದೆ.
ನಂತರ ಒಟ್ಟಿಗೆ ನಿಮ್ಮ ವಿಭಾಗವು, ಯಾವುದೇ ವಿಭಾಗದಲ್ಲಿ ಹೆಚ್ಚಿನ ಚಿತ್ರಗಳನ್ನು ತೆಗೆಯುತ್ತದೆ
ಹೆಚ್ಚಿನ ಸಿಬ್ಬಂದಿ ಒಂದು ಬಹಳ ಉತ್ತಮವಾಗಿದೆ ಬಹುಮಾನ ಗಳಿಸಿತು.
ಪಡೆಯಲು ಉತ್ತೇಜಕ ಭಾಸವಾಗುತ್ತದೆ ನಿಮ್ಮ pset4 ಸಾಧ್ಯವಿದ್ದಷ್ಟು ಮುಗಿಸಿದರು
ನಂತರ ನೀವು ವ್ಯಾಪಾರ ಕೆಳಗೆ ಪಡೆಯುವುದು ಏಕೆಂದರೆ
ಎಲ್ಲಾ ವಿವಿಧ CS50 ಸಿಬ್ಬಂದಿ ಬೇಟೆಯಾಡುವುದು.
ಕಡ್ಡಾಯ ಅಲ್ಲ ಎಂದು, ಆದರೂ, ಹಾಗೆ ಒಮ್ಮೆ, ಚಿತ್ರಗಳನ್ನು ಪಡೆಯಿರಿ
ನಂತರ ನೀವು pset4 ಜೊತೆ ಪೂರ್ಣಗೊಳಿಸಲಾಗಿದೆ.
>> ಮತ್ತು ನಾನು ಬರುವ ಎಲ್ಲಾ ಧನ್ಯವಾದಗಳು, ದರ್ಶನ 4 ಗಳಿಸಿದರು ನುಡಿದರು.
ಫೊರೆನ್ಸಿಕ್ಸ್ ಉತ್ತಮ ಅದೃಷ್ಟ. [ಚಪ್ಪಾಳೆಯನ್ನು]
[CS50.TV]