1 00:00:00,000 --> 00:00:09,500 >> [সঙ্গীত বাজাচ্ছি] 2 00:00:09,500 --> 00:00:12,350 >> ZAMYLA Chan: এটা মিস Scarlett ছিল পিলসুজ সঙ্গে. 3 00:00:12,350 --> 00:00:13,560 রহস্যময় গল্প? 4 00:00:13,560 --> 00:00:15,030 ভাল, আমরা খুঁজে বের করতে যাচ্ছেন. 5 00:00:15,030 --> 00:00:20,870 বোর্ড খেলা সুরুক, আপনি হতে পারে একটি শারীরিক লাল চিত্র দেওয়া. 6 00:00:20,870 --> 00:00:24,120 এবং যে ছবিটি খুব লাল এবং হয় তিলকিত, এবং আপনার কাজ হল 7 00:00:24,120 --> 00:00:25,490 গোপন বার্তা প্রকাশ করা. 8 00:00:25,490 --> 00:00:29,740 এবং সাধারণত আপনি একটি লাল সাথে উপলব্ধ করছি কাচ, অথবা একটি লাল পর্দা 9 00:00:29,740 --> 00:00:31,410 যে গোপন বার্তা প্রকাশ করা. 10 00:00:31,410 --> 00:00:33,340 ভাল, আমরা যে অনুকরণমূলক চলুন. 11 00:00:33,340 --> 00:00:37,960 >> রহস্যময় গল্প, আপনি একটি বিটম্যাপ ইমেজ দেওয়া করছি যে খুব তিলকিত এবং লাল দেখায় 12 00:00:37,960 --> 00:00:43,430 এবং তারপর রহস্যময় গল্প প্রোগ্রাম চালানো একটি লুকানো বার্তা প্রকাশ করা. 13 00:00:43,430 --> 00:00:45,650 >> সুতরাং আসুন পদক্ষেপ মধ্যে এই বিরতি দেওয়া. 14 00:00:45,650 --> 00:00:50,390 প্রথমত, আপনি ফাইলটি খুলতে চান - আপনি দেওয়া করছি যে খেই. 15 00:00:50,390 --> 00:00:53,880 এবং তারপর আরো একটি তৈরি রায় বিটম্যাপ ফাইল. 16 00:00:53,880 --> 00:00:58,240 তারপর আপনি বিটম্যাপ আপডেট করতে চান রায় outfile জন্য তথ্য শিরোলেখ. 17 00:00:58,240 --> 00:00:59,920 পরে যে আরও. 18 00:00:59,920 --> 00:01:04,319 এবং তারপর আপনি মধ্যে পড়তে যাচ্ছেন খেই, scanline, পিক্সেল দ্বারা পিক্সেল, 19 00:01:04,319 --> 00:01:07,320 হিসাবে পিক্সেল রং পরিবর্তন প্রয়োজনীয়, এবং লেখার 20 00:01:07,320 --> 00:01:08,960 রায়ের মধ্যে যারা - 21 00:01:08,960 --> 00:01:12,000 মধ্যে পিক্সেলের দ্বারা পিক্সেল রায় scanline. 22 00:01:12,000 --> 00:01:13,780 >> কিভাবে আমরা এই বিষয়ে যাওয়া শুরু করব? 23 00:01:13,780 --> 00:01:16,940 ওয়েল, সৌভাগ্য যে, আমরা copy.c আছে ডিস্ট্রিবিউশন কোড ইন. 24 00:01:16,940 --> 00:01:21,240 এবং এই প্রমাণ করতে যাচ্ছে আমাদের কাছে বেশ উপযোগী. 25 00:01:21,240 --> 00:01:29,700 Copy.c, একটি ফাইল খোলে যে সার্চ তারপর infile এর হেডার, এবং আপডেট 26 00:01:29,700 --> 00:01:31,070 outfile এর হেডার. 27 00:01:31,070 --> 00:01:37,010 এবং তারপর এটা প্রতিটি পিক্সেল সার্চ তারপর scanline, পিক্সেল দ্বারা পিক্সেল, এবং 28 00:01:37,010 --> 00:01:42,390 outfile মধ্যে যে পিক্সেল লিখেছেন. 29 00:01:42,390 --> 00:01:45,020 >> সুতরাং, আপনার প্রথম পদক্ষেপ হতে পারে নিম্নলিখিত চালানো হবে 30 00:01:45,020 --> 00:01:46,420 টার্মিনালে কমান্ড - 31 00:01:46,420 --> 00:01:50,270 cp copy.c whodunit.c. 32 00:01:50,270 --> 00:01:55,320 এই একটি কপি তৈরি হবে copy.c whodunit.c নামে. 33 00:01:55,320 --> 00:01:58,320 তাই খুলতে আমাদের প্রথম পদক্ষেপ ফাইল, ভাল, একটি সঠিক আছে 34 00:01:58,320 --> 00:02:00,070 copy.c. মধ্যে যে প্রতিরূপ 35 00:02:00,070 --> 00:02:03,360 তাই আমি যে তাকান আপনি ছেড়ে দেব. 36 00:02:03,360 --> 00:02:07,860 >> আমরা এই pset মধ্যে দিয়ে হয় লেনদেন করছেন কি ফাইল ইনপুট / আউটপুট, মূলত ফাইল গ্রহণ, 37 00:02:07,860 --> 00:02:10,229 , পড়া, লেখা, তাদের সম্পাদনা. 38 00:02:10,229 --> 00:02:12,650 কিভাবে আপনি প্রথম একটি ফাইল খুলতে হয়? 39 00:02:12,650 --> 00:02:16,800 হ্যাঁ, আপনি একটি ফাইল ডিক্লেয়ার চলুন পয়েন্টার, এবং তারপর আপনি কল 40 00:02:16,800 --> 00:02:18,670 ফাংশন fopen. 41 00:02:18,670 --> 00:02:23,150 পাথ, বা যে নামে Pass ফাইল, এবং তারপর আপনি চান যে মোড 42 00:02:23,150 --> 00:02:24,700 ইন যে ফাইল খোলার জন্য 43 00:02:24,700 --> 00:02:28,620 একটি দ মধ্যে পাসিং খুলবে পড়ার জন্য foo.bmp. 44 00:02:28,620 --> 00:02:35,670 যেহেতু একটি W কথা প্রসঙ্গে সঙ্গে fopen করবে খোলা bar.bmp, ফাইল লেখার জন্য এবং 45 00:02:35,670 --> 00:02:37,020 আসলে এটি সম্পাদনা. 46 00:02:37,020 --> 00:02:41,970 >> তাই এখন আমরা ফাইল খোলা করেছি যে, আমাদের পরবর্তী ধাপে হেডারের তথ্য আপডেট করতে হয় 47 00:02:41,970 --> 00:02:43,230 outfile জন্য. 48 00:02:43,230 --> 00:02:44,610 একটি হেডার তথ্য কি? 49 00:02:44,610 --> 00:02:48,160 ওয়েল, প্রথম আমরা জানতে হবে কি একটি বিটম্যাপ হয়. 50 00:02:48,160 --> 00:02:51,000 একটি বিটম্যাপ শুধুমাত্র একটি সহজ হয় বাইট ব্যবস্থা. 51 00:02:51,000 --> 00:02:55,480 এবং তারা এই ফাইলে ঘোষণা করছি একটি গুচ্ছ সঙ্গে এখানে, bmp.h, 52 00:02:55,480 --> 00:02:58,610 কি একটি বিটম্যাপ এর তথ্য আসলে বাইরে তৈরি করা হয়. 53 00:02:58,610 --> 00:03:05,730 কিন্তু কি আমরা সত্যিই যত্নশীল হয় বিটম্যাপ ফাইল হেডার, এখানে ডান, এবং 54 00:03:05,730 --> 00:03:08,460 এখানে উপর বিটম্যাপ তথ্য হেডার,. 55 00:03:08,460 --> 00:03:13,170 হেডার কয়েক হাজার গঠিত হয় খুব দরকারী প্রমাণ করা হবে যে ভেরিয়েবল. 56 00:03:13,170 --> 00:03:18,400 যা biSizeImage পর্যন্ত, বাইট ছবিটি মোট আয়তন. 57 00:03:18,400 --> 00:03:20,890 এবং এই পিক্সেল এবং প্যাডিং রয়েছে. 58 00:03:20,890 --> 00:03:24,210 প্যাডিং খুবই গুরুত্বপূর্ণ, কিন্তু আমরা পরে যে পাবেন. 59 00:03:24,210 --> 00:03:30,000 >> BiWidth প্রস্থ প্রতিনিধিত্ব করে পিক্সেল বিয়োগ প্যাডিং এ ছবিটি. 60 00:03:30,000 --> 00:03:34,220 BiHeight এছাড়াও তারপর উচ্চতা হল পিক্সেলে ছবিটি. 61 00:03:34,220 --> 00:03:38,240 এবং তারপর BITMAPFILEHEADER এবং আমি হিসাবে উল্লেখ করেছে BITMAPINFOHEADER, 62 00:03:38,240 --> 00:03:40,900 এর আগে, যারা প্রতিনিধিত্ব করছেন structs হিসাবে. 63 00:03:40,900 --> 00:03:45,410 সুতরাং, আপনি ফাইল হেডার ব্যবহার করতে সক্ষম নয় নিজেই, কিন্তু আপনি পেতে চাইবেন 64 00:03:45,410 --> 00:03:47,370 ভিতরে ঐ ভেরিয়েবল. 65 00:03:47,370 --> 00:03:48,170 >> ঠিক আছে. 66 00:03:48,170 --> 00:03:50,600 তাই কিভাবে আমরা হেডারের তথ্য আপডেট করব? 67 00:03:50,600 --> 00:03:54,020 ওয়েল, প্রথম আমরা দেখতে আছে আমরা কিনা থেকে কোনো তথ্য পরিবর্তন প্রয়োজন 68 00:03:54,020 --> 00:03:58,480 যাও infile, খেই, outfile, রায়. 69 00:03:58,480 --> 00:04:00,250 কিছু এই ক্ষেত্রে পরিবর্তিত হচ্ছে? 70 00:04:00,250 --> 00:04:04,320 ভাল, আসলে, আমরা চলুন না, কারণ শুধু রং পরিবর্তন করা হবে. 71 00:04:04,320 --> 00:04:07,550 আমরা ফাইল পরিবর্তন করা যাচ্ছে না আকার, ছবির আকার, প্রস্থ, 72 00:04:07,550 --> 00:04:08,310 বা উচ্চতা. 73 00:04:08,310 --> 00:04:14,010 তাই আপনার দ্বারা এখন জন্য ঠিক করছি শুধু প্রতিটি পিক্সেল কপি. 74 00:04:14,010 --> 00:04:14,840 >> ঠিক আছে. 75 00:04:14,840 --> 00:04:20,720 তাই এখন আমি কি কিভাবে আমরা আসলে তাকান ফাইল থেকে প্রতি পিক্সেল পড়তে পারেন. 76 00:04:20,720 --> 00:04:23,640 আরেকটি ফাইল ইনপুট / আউটপুট ফাংশন করে আসা হবে - 77 00:04:23,640 --> 00:04:24,700 fread. 78 00:04:24,700 --> 00:04:28,440 এটা struct একটি পয়েন্টার লাগে যে বাইট ধারণ করবে 79 00:04:28,440 --> 00:04:30,110 আপনি পড়ি. 80 00:04:30,110 --> 00:04:31,890 সুতরাং আপনি যে ভাগ পড়ি. 81 00:04:31,890 --> 00:04:36,090 এবং তারপর আপনি যা, একটি আকার মধ্যে পাস প্রত্যেক উপাদান মাপ যে আপনি 82 00:04:36,090 --> 00:04:37,360 পড়তে চাই. 83 00:04:37,360 --> 00:04:40,640 এখানে, ফাংশন sizeof উপকারে আসবে. 84 00:04:40,640 --> 00:04:45,570 তারপর আপনি, সংখ্যায় পাস যা উপাদান সংখ্যা প্রতিনিধিত্ব করে 85 00:04:45,570 --> 00:04:47,480 পড়তে আকার. 86 00:04:47,480 --> 00:04:51,180 এবং পরিশেষে, তাহলে inptr, যা হয় আপনি যে ফাইল পয়েন্টার 87 00:04:51,180 --> 00:04:52,530 থেকে পড়া যাচ্ছে. 88 00:04:52,530 --> 00:04:58,650 সুতরাং যারা উপাদান সব ভিতরে আছেন inptr এবং তারা তথ্য চলুন. 89 00:04:58,650 --> 00:05:01,660 >> এর একটু উদাহরণ তাকান. 90 00:05:01,660 --> 00:05:07,590 আমি তথ্য দুটি কুকুর মধ্যে পড়তে চাই, ওয়েল, আমি এটা দুটি পদ্ধতির মাধ্যমে করতে পারেন. 91 00:05:07,590 --> 00:05:15,250 আমি হয় আকারের দুটি বস্তুর মধ্যে পড়তে পারেন আমার inptr থেকে কুকুর, অথবা আমি পড়তে পারেন 92 00:05:15,250 --> 00:05:19,280 একটি দুটি কুকুর মাপ আপত্তি. 93 00:05:19,280 --> 00:05:23,580 সুতরাং আপনি দেখতে যে পথ উপর নির্ভর করে আপনি, আপনি আকার এবং সংখ্যা ব্যবস্থা যে 94 00:05:23,580 --> 00:05:25,840 একই সংখ্যক বাইট মধ্যে পড়তে পারেন. 95 00:05:25,840 --> 00:05:28,720 96 00:05:28,720 --> 00:05:33,020 >> সুতরাং এখন, এর পরিবর্তন করা যাক আমরা প্রয়োজন হিসাবে পিক্সেল রঙ. 97 00:05:33,020 --> 00:05:37,320 আপনি আবার bmp.h তাকান তাহলে, আপনি নীচে দেখতে পাবেন 98 00:05:37,320 --> 00:05:42,920 RGBTRIPLEs, অন্য struct যেখানে তারা তিন বাইট গঠিত হয়. 99 00:05:42,920 --> 00:05:49,220 এক, rgbtBlue, rgbtGreen, এবং rgbtRed. 100 00:05:49,220 --> 00:05:52,480 সুতরাং এই প্রতিটি পরিমাণ প্রতিনিধিত্ব করে নীল, সবুজ পরিমাণ, এবং 101 00:05:52,480 --> 00:05:57,250 এই পিক্সেল ভিতরে লাল পরিমাণ, যেখানে প্রতিটি পরিমাণ প্রতিনিধিত্ব করেন 102 00:05:57,250 --> 00:05:58,670 হেক্সাডেসিমেল সংখ্যা. 103 00:05:58,670 --> 00:06:04,370 >> সুতরাং FF0000 একটি নীল রঙের হবে, এটি নীল থেকে যায়, কারণ 104 00:06:04,370 --> 00:06:05,850 লাল, সবুজ. 105 00:06:05,850 --> 00:06:09,300 এবং তারপর সব F এর সাদা হতে হবে. 106 00:06:09,300 --> 00:06:13,440 এর smiley.bmp কটাক্ষপাত, নিতে যা আপনি আপনার ডিস্ট্রিবিউশন কোড আছে. 107 00:06:13,440 --> 00:06:15,690 আপনি শুধু একটি চিত্র এটি খুলতে হলে দর্শক, তাহলে আপনি পাবেন 108 00:06:15,690 --> 00:06:17,080 শুধু একটি লাল স্মাইলি দেখুন. 109 00:06:17,080 --> 00:06:20,380 কিন্তু আমরা করব, একটি গভীর ডুব গ্রহণ দেখতে যে কাঠামো 110 00:06:20,380 --> 00:06:22,340 এর এটি শুধু পিক্সেল হয়. 111 00:06:22,340 --> 00:06:25,880 আমরা সাদা পিক্সেল আছে, এবং তারপর লাল পিক্সেল. 112 00:06:25,880 --> 00:06:31,000 সব পরে, সাদা ffffff, এবং আমি আপনার জন্য এ রঙ্গিন করেছি লাল পিক্সেল 113 00:06:31,000 --> 00:06:35,440 এখানে, এবং আপনি তারা 0000ff করছি যে দেখুন. 114 00:06:35,440 --> 00:06:39,760 জিরো নীল, শূন্য সবুজ, এবং সম্পূর্ণ লাল. 115 00:06:39,760 --> 00:06:45,350 এবং স্মাইলি আট পিক্সেল চওড়া থেকে, আমরা কোনো প্যাডিং হবে না. 116 00:06:45,350 --> 00:06:47,360 ঠিক আছে. 117 00:06:47,360 --> 00:06:53,310 >> আমি বিভিন্ন মান দায়িত্ব অর্পণ করা হয়েছে তাই আপনি যদি একটি RGBTRIPLE থেকে এবং আমি চেয়েছিলেন 118 00:06:53,310 --> 00:06:58,350 এটা সবুজ না, তাহলে কি আমি কি হয় আমি নামক একটি RGBTRIPLE, ঘোষণা করা হবে 119 00:06:58,350 --> 00:07:02,660 ট্রিপল, এবং তারপর প্রতি অ্যাক্সেস যে struct আমি মধ্যে বাইট 120 00:07:02,660 --> 00:07:04,030 ডট অপারেটর ব্যবহার করেন. 121 00:07:04,030 --> 00:07:08,430 সুতরাং triple.rgbtBlue, আমি করতে পারেন 0 যে দায়িত্ব অর্পণ করা. 122 00:07:08,430 --> 00:07:13,460 সবুজ আমি পূর্ণ এটি ধার্য করতে পারেন - কোন নম্বর, সত্যিই, 0 এবং FF মধ্যে. 123 00:07:13,460 --> 00:07:15,470 এবং তারপর লাল, আমি 0 বলতে যাচ্ছি. 124 00:07:15,470 --> 00:07:19,160 আমি তখন যে আমার একটি সবুজ পিক্সেল আপনি. 125 00:07:19,160 --> 00:07:23,030 >> এর পরে, আমি চেক কি চান কিছু মান? 126 00:07:23,030 --> 00:07:27,250 আমি পরীক্ষা করে কিছু একটা দেখতে পারে ট্রিপল এর rgbtBlue মূল্য কিনা 127 00:07:27,250 --> 00:07:31,080 FF এবং তারপর মুদ্রণ, "আমি বোধ করছি নীল ', ফলে. 128 00:07:31,080 --> 00:07:35,640 এখন, যে অগত্যা মানে না পিক্সেল অধিকার, নীল যে? 129 00:07:35,640 --> 00:07:40,060 পিক্সেল এর সবুজ এবং লাল মান কারণ এছাড়াও অ 0 মান থাকতে পারে. 130 00:07:40,060 --> 00:07:43,470 এই মানে যে সব, এবং সব যে এই জন্য চেক করা হয় 131 00:07:43,470 --> 00:07:45,610 একটি পূর্ণ নীল রঙের জন্য. 132 00:07:45,610 --> 00:07:50,050 কিন্তু সব পিক্সেল এছাড়াও আংশিক থাকতে পারে ভালো রঙ মান, 133 00:07:50,050 --> 00:07:52,180 এখানে পরের উদাহরণ. 134 00:07:52,180 --> 00:07:55,400 >> এটা একটু কঠিন দেখতে না এই ছবিটি এখন কি. 135 00:07:55,400 --> 00:08:00,320 এটি একটি সামান্য বিট আরো মতো দেখতে আপনি দেওয়া হবে যে clue.bmp. 136 00:08:00,320 --> 00:08:03,600 এখন, শারীরিকভাবে, আপনি এই সমাধান হতে পারে, দ্বারা, লাল অনেক আছে, কারণ 137 00:08:03,600 --> 00:08:07,040 ছবিটি একটি লাল পর্দা আপ অধিষ্ঠিত তাই অন্যান্য রং প্রদর্শিত করতে পারেন. 138 00:08:07,040 --> 00:08:10,968 তাই কিভাবে আমরা গ সাথে এই অনুকরণমূলক করেন? 139 00:08:10,968 --> 00:08:15,640 ভাল, আমরা সব লাল অপসারণ করা হতে পারে ইমেজ থেকে সম্পূর্ণরূপে. 140 00:08:15,640 --> 00:08:21,870 এবং তাই আমরা প্রতি সেট চাই যে কি 0 পিক্সেল এর লাল মূল্য. 141 00:08:21,870 --> 00:08:25,020 তাই ছবিটি একটু দেখাবে আমরা কোন লাল আছে যেখানে এই, মত বিট 142 00:08:25,020 --> 00:08:26,300 সবটা. 143 00:08:26,300 --> 00:08:29,390 >> আমরা গোপন বার্তা একটি দেখতে পারেন সামান্য বিট আরো পরিষ্কারভাবে এখন. 144 00:08:29,390 --> 00:08:31,730 এটা অন্য হাস্যজ্জল মুখ করে. 145 00:08:31,730 --> 00:08:33,870 অথবা হয়ত আমরা অন্য পদ্ধতি ব্যবহার করতে পারেন. 146 00:08:33,870 --> 00:08:36,480 হয়তো, আমরা সনাক্ত করতে পারে লাল পিক্সেল সব - 147 00:08:36,480 --> 00:08:41,100 যে, পিক্সেল সব হয় 0 নীল, 0 সবুজ, এবং 0 লাল - 148 00:08:41,100 --> 00:08:43,169 সাদা যারা পরিবর্তন. 149 00:08:43,169 --> 00:08:45,470 এবং আমাদের ইমেজ চেহারা হতে পারে ভালো কিছু. 150 00:08:45,470 --> 00:08:48,250 দেখতে একটু একটু সহজ. 151 00:08:48,250 --> 00:08:51,170 >> আবরণ উন্মোচন অন্য উপায়ে প্রচুর আছে গোপন বার্তা হিসাবে ভাল, 152 00:08:51,170 --> 00:08:53,730 রং ম্যানিপুলেশন সঙ্গে আচরণ. 153 00:08:53,730 --> 00:08:57,050 হতে পারে আপনি একটি পদ্ধতির ব্যবহার হতে পারে আমি পূর্বেই উল্লেখ করা হয়েছে. 154 00:08:57,050 --> 00:08:59,600 এবং উপরন্তু, আপনি চাইতে পারেন কিছু রং উন্নত 155 00:08:59,600 --> 00:09:02,620 এবং যারা বের করে আনা. 156 00:09:02,620 --> 00:09:06,190 >> তাই এখন আমরা পিক্সেল পরিবর্তন করেছি রঙ, পরের আমরা শুধু তাদের লেখার প্রয়োজন 157 00:09:06,190 --> 00:09:08,500 পিক্সেল দ্বারা scanline এ, পিক্সেল. 158 00:09:08,500 --> 00:09:11,860 এবং এখনো আবার, আপনি পিছনে তাকান করতে চাইবেন আপনি কপি না করে যদি copy.c যাও 159 00:09:11,860 --> 00:09:18,170 এটি আগে থেকেই, এবং fwrite তাকান তথ্য যা লাগে ফাংশন,, একটি পয়েন্টার 160 00:09:18,170 --> 00:09:23,230 বাইট ধারণকারী struct যাও আপনি মাপ, থেকে পড়ি যে 161 00:09:23,230 --> 00:09:26,610 আইটেম, আইটেম নম্বর, এবং তারপর outptr - 162 00:09:26,610 --> 00:09:29,450 ঐ ফাইলের গন্তব্য. 163 00:09:29,450 --> 00:09:34,010 >> আপনি পিক্সেলে লিখতে পর, আপনি পাবেন এছাড়াও প্যাডিং মধ্যে লিখতে হবে. 164 00:09:34,010 --> 00:09:34,970 প্যাডিং কি? 165 00:09:34,970 --> 00:09:38,670 ওয়েল, প্রতি rgbt পিক্সেল তিন বাইট দীর্ঘ. 166 00:09:38,670 --> 00:09:43,670 কিন্তু, একটি বিটম্যাপ ইমেজ জন্য scanline চার বাইটের একটি একাধিক হতে হয়েছে. 167 00:09:43,670 --> 00:09:47,650 এবং পিক্সেল সংখ্যা নয় যদি চার একাধিক, তাহলে আমরা যুক্ত করতে হবে 168 00:09:47,650 --> 00:09:48,880 এই প্যাডিং. 169 00:09:48,880 --> 00:09:51,420 প্যাডিং মাত্র 0 সেঃ প্রতিনিধিত্ব করেন. 170 00:09:51,420 --> 00:09:54,380 সুতরাং, কিভাবে আমরা লিখতে, অথবা এই পড়া হয়? 171 00:09:54,380 --> 00:09:59,280 ওয়েল, এটা দেখা যাচ্ছে আপনি না করতে পারেন যে আসলে fread প্যাডিং, কিন্তু আপনি যা করতে পারেন 172 00:09:59,280 --> 00:10:00,970 এটা নিরূপণ. 173 00:10:00,970 --> 00:10:04,400 >> এই ক্ষেত্রে, খেই এবং রায় একই প্রস্থ আছে, তাই 174 00:10:04,400 --> 00:10:05,910 প্যাডিং একই. 175 00:10:05,910 --> 00:10:09,370 আর প্যাডিং, আপনি দেখতে পাবেন copy.c সালে গণনা করা হয় 176 00:10:09,370 --> 00:10:11,790 নিচের সূত্র সঙ্গে - 177 00:10:11,790 --> 00:10:16,690 bi.biWidth বার sizeof (RGBTRIPLE) করবে না কত বাইট BMP আমাদের দিতে 178 00:10:16,690 --> 00:10:18,280 প্রত্যেক সারিতে আছে. 179 00:10:18,280 --> 00:10:21,890 সেখান থেকে, modulos এবং subtractions 4 নিরূপণ করতে পারেন সঙ্গে কিভাবে 180 00:10:21,890 --> 00:10:25,610 অনেক বাইট যোগ করা হবে যাতে প্রথম বাইট একাধিক 181 00:10:25,610 --> 00:10:27,250 প্রতি সারিতে চারটি হয়. 182 00:10:27,250 --> 00:10:30,490 >> এখন আমরা জন্য সূত্র আছে আমরা প্রয়োজন কত প্যাডিং, এখন 183 00:10:30,490 --> 00:10:31,610 আমরা তা লিখতে পারেন. 184 00:10:31,610 --> 00:10:34,080 এখন, আমি আগে উল্লেখ করেছে, প্যাডিং মাত্র 0 সেঃ হয়. 185 00:10:34,080 --> 00:10:39,730 সুতরাং সেই ক্ষেত্রে, আমরা শুধু নির্বাণ করছি এই ক্ষেত্রে একটি 0 একটি গৃহস্থালি, আমাদের 186 00:10:39,730 --> 00:10:41,710 outptr - আমাদের outfile. 187 00:10:41,710 --> 00:10:47,530 সুতরাং যে শুধু fputc হতে পারে 0, কমা outptr. 188 00:10:47,530 --> 00:10:52,400 >> সুতরাং, আমরা মধ্যে পড়া করছি, যখন আমাদের ফাইল, ফাইল ইনপুট / আউটপুট উপর নজর রাখা হয়েছে আমাদের 189 00:10:52,400 --> 00:10:57,440 কিছু যাদের ফাইল অবস্থান ফাইল অবস্থান সূচক বলা. 190 00:10:57,440 --> 00:10:59,350 একটি কার্সার হিসাবে মনে করে. 191 00:10:59,350 --> 00:11:03,550 মূলত, এটা প্রত্যেক সময় অগ্রগতি আমরা fread, কিন্তু আমরা যে 192 00:11:03,550 --> 00:11:05,671 খুব, এটি উপর নিয়ন্ত্রণ. 193 00:11:05,671 --> 00:11:11,030 >> ফাইল অবস্থান নির্দেশক সরানোর জন্য, আপনি ফাংশন fseek ব্যবহার করতে পারেন. 194 00:11:11,030 --> 00:11:15,600 Inptr ফাইল প্রতিনিধিত্ব করে কোথায় আপনি চাইছেন করছি পয়েন্টার, 195 00:11:15,600 --> 00:11:20,370 পরিমাণ বাইট সংখ্যা যে আপনি থেকে তারপর কার্সার সরানোর জন্য, এবং চাই 196 00:11:20,370 --> 00:11:23,470 রেফারেন্স বিন্দু সম্পর্কিত আপনার কার্সার যেখানে থেকে. 197 00:11:23,470 --> 00:11:26,770 আপনি SEEK_CUR মধ্যে পাস, যে বর্তমান প্রতিনিধিত্ব করে 198 00:11:26,770 --> 00:11:28,100 ফাইলে অবস্থান. 199 00:11:28,100 --> 00:11:31,020 অথবা আপনি অন্য কিছু প্যারামিটার ব্যবহার করতে পারেন. 200 00:11:31,020 --> 00:11:35,400 সুতরাং, আমরা এড়িয়ে যাও fseek ব্যবহার করতে চাইতে পারেন এ ফাইলের প্যাডিং উপর. 201 00:11:35,400 --> 00:11:39,410 আপনি আটকে করছি এবং আবার,, আছে copy.c. মধ্যে যে একটি উদাহরণ 202 00:11:39,410 --> 00:11:43,260 >> তাই এখন আমরা ফাইল খোলা করেছি, খেই, এবং রায়. 203 00:11:43,260 --> 00:11:46,450 আমরা হেডারের তথ্য আপডেট করেছি আমাদের রায়, কারণ প্রতি 204 00:11:46,450 --> 00:11:48,730 বিটম্যাপ একটি হেডার প্রয়োজন. 205 00:11:48,730 --> 00:11:52,280 আমরা তখন খেই এর মধ্যে পড়েছি scanline, পিক্সেল দ্বারা পিক্সেল, পরিবর্তন 206 00:11:52,280 --> 00:11:55,210 প্রত্যেক রং হিসাবে প্রয়োজনীয়, এবং মধ্যে যারা লেখা 207 00:11:55,210 --> 00:11:57,340 রায়, পিক্সেল দ্বারা পিক্সেল. 208 00:11:57,340 --> 00:12:01,550 আপনি রায় খুলতে, আপনি দেখতে পারেন যারা অভিযুক্ত ব্যক্তি, বা কি গোপন 209 00:12:01,550 --> 00:12:02,850 বার্তা. 210 00:12:02,850 --> 00:12:05,550 আমার নাম Zamyla, এবং এই রহস্যময় গল্প ছিল. 211 00:12:05,550 --> 00:12:12,864