>> [संगीत खेल]
>> आरओबी BOWDEN: हाय.
मैं रोब हूँ और जाने के आकार इस समस्या को.
इसलिए हम के रूप में copy.c के साथ शुरू करने जा रहे हैं एक टेम्पलेट, लेकिन हम होने जा रहे हैं
काफी कुछ बदलाव करने.
>> अब हम तुरंत बना रहे हैं देखते हैं एक हम अब जाँच कर रहे हैं, जहां बदल
हमारे RXC अब 3 बराबर नहीं है, लेकिन के लिए हम आर सी जाँच कर रहे हैं 4 बराबर नहीं है.
हम भी में, शामिल करने के लिए चाहते हैं फ़ाइल में और बाहर फ़ाइलों के अतिरिक्त
इस होने जा रहा है जो तर्क, च हम स्केलिंग रहे हैं जिसके द्वारा कारक.
>> हम इस बात पर यकीन कर रहे हैं तो एक बार, हम चाहते हैं स्ट्रिंग में कनवर्ट करने के स्कैन का उपयोग च
एक नाव के लिए argv1.
और हम स्टोर करने के लिए जा रहे हैं उस में कारक.
इस अतिरिक्त चरित्र यकीन कर रहा है हम वास्तव में नहीं प्रवेश कर रहे हैं कि
1.4 एबीसी की तरह कुछ कमांड लाइन पर.
>> अब हम कुछ फर्जी नाम बनाने के लिए जा रहे हैं RV2 और RV3 नहीं हैं
बहुत उपयोगी नामों.
हम इसके बजाय, कॉल करने के लिए जा रहे हैं उन्हें फाइल में और फाइल बाहर.
अब हमें यकीन है कि बनाने के लिए जा रहे हैं हमारे कारक वास्तव में वैध था.
तो पहलू से भी कम या बराबर है अगर शून्य या अधिक से अधिक 100 से अधिक है, तो के रूप में प्रति
कल्पना, हम अस्वीकार करना चाहिए उस पहलू.
>> हम सुनिश्चित कर रहे हैं जब यह अब हम कर सकते हैं, अच्छा है n फ़ाइल खोलने, और हमें करना है
यह सफलतापूर्वक खोला गया है सुनिश्चित करें.
यह नहीं किया है, कि अशक्त वापसी करेंगे.
हम बाहर फ़ाइल को खोलने के लिए जा रहे हैं.
और फिर, हम करने के लिए जाँच करना चाहते हैं यकीन है कि इसे सफलतापूर्वक खोला है.
और इसे सफलतापूर्वक तो, नहीं खुला है तो हम भी बंद करने के लिए सुनिश्चित करने की आवश्यकता
n फाइल जो मूल रूप से सफलतापूर्वक खोला, वरना हमारे पास एक
स्मृति रिसाव.
>> तो अब हम बिटमैप में पढ़ने के लिए जा रहे हैं फ़ाइल शीर्षक और बिटमैप जानकारी
n फाइल से हैडर.
हमें यकीन है कि बनाने के लिए जा रहे हैं n फाइल एक वैध बिटमैप था.
ठीक है.
>> तो अब हम शुरू करने जा रहे हैं कुछ परिवर्तन करना.
हम बदल रहा हो जा रहे हैं तो इसलिए कि बातें, हम पहले याद रखना चाहते हैं
n फाइल की पुरानी चौड़ाई.
हम पुरानी गद्दी की याद करना चाहते एक ही गणना का उपयोग n फाइल
copy.c. से
>> और अब हम बदलने के लिए जा रहे हैं बिटमैप जानकारी हैडर.
और इसलिए हम चौड़ाई दोनों बढ़ रहे हैं और जब से पहलू से ऊंचाई
कि हम ने स्केलिंग रहे हैं.
हम निर्धारित करने के लिए जा रहे हैं फ़ाइल द्वारा की नई गद्दी
नई चौड़ाई का उपयोग कर.
और हम नए निर्धारित करने के लिए जा रहे हैं संख्या का उपयोग कर छवि का आकार
जा रहा है जो एक ही पंक्ति में बाइट्स उस पंक्ति में बॉलीवुड की संख्या हो
बार एक पिक्सेल का आकार प्लस अंत में गद्दी के बाइट्स की संख्या
उस पंक्ति की, और कहा कि सभी गुणा हमारे पास जो पंक्तियों की संख्या से.
इसलिए कि बाइट्स की संख्या है हम हमारी छवि डेटा में है.
>> Bf.Bfsize अब संख्या होने जा रहा है के बारे में हमारी छवि बीटा में बाइट्स प्लस
हमारे हेडर के आकार.
बिटमैप फ़ाइल शीर्षक से तो अधिक आकार और बिटमैप जानकारी हेडर के आकार.
ठीक है.
इसलिए कि हमारे हेडर के लिए है.
हम फाइल सिर लिखने के लिए और कर सकते हैं हमारे बाहर करने की जानकारी हैडर
फ़ाइल, और हम अच्छा कर रहे हैं.
>> अब यह वास्तव में शुरू करने के लिए समय है पिक्सेल लेखन
बाहर फाइल करने के लिए डेटा.
हम आकार की एक बफर की घोषणा करने जा रहे हैं पुराने चौड़ाई आरजीबी triples, और हम कर रहे हैं
कहा जाता है एक चर घोषित करने के लिए जा रहा हम करने जा रहे है जो पंक्ति सुन्न,
शुरू में नकारात्मक 1 के बराबर निर्धारित किया है.
हम हम प्रयोग करने जा रहे हैं कि देख लेंगे कि क्या का ट्रैक रखने के लिए
हम वर्तमान में लोड किया है पंक्ति इस बफर में.
ठीक है.
>> तो अब, मानक संस्करण के विपरीत बजाय में कम से अधिक पुनरावृति की
फ़ाइल, हम प्रत्येक पर पुनरावृति करने जा रहे हैं बाहर फ़ाइल में पंक्ति और यह पता लगाने
हम चाहते हैं में फ़ाइल में जो पंक्ति बाहर फ़ाइल में इस पंक्ति में जगह है.
तो बाहर के सभी पंक्तियों पर iterating नई ऊंचाई का उपयोग कर फ़ाइल, हम पहली बार कर रहे हैं
पुराने में पंक्ति निर्धारित करने के लिए जा रहा हम हम कर रहे हैं, जो प्रयोग करने जा रहे हैं फ़ाइल
इस मौजूदा लेकर क्या करने जा पंक्ति पहलू से विभाजित.
इसलिए कि हमें पंक्ति देने के लिए जा रहा है हम चाहते हैं कि पुरानी फाइल में.
>> तो अब अगर पंक्ति सुन्न बराबर नहीं पुराने Y करता है, हम पंक्ति को पढ़ने के लिए किया जा रहे हैं
हम अपने मौजूदा पंक्ति बफर में चाहते हैं.
तो कैसे हम ऐसा करने जा रहे हैं?
सबसे पहले, हम यह पता लगाने के लिए जा रहे हैं में उस पंक्ति शुरू होता है कि स्थिति
मूल फाइल.
तो उस स्थिति होने जा रहा है हमारे हेडर के सभी और अतीत
अब अतीत पुराने Y पंक्तियों.
>> और तो कितने बाइट्स एक ही पंक्ति में रहे हैं?
फिर, ट्रिपल बार आरजीबी का आकार पुरानी चौड़ाई प्लस पुरानी गद्दी, तो वह है
एक ही पंक्ति में बाइट्स की संख्या.
और हम पिछले पुराने Y पंक्तियों को छोड़ना चाहते हैं.
इसलिए हम च की तलाश में जा रहे हैं और हम कर रहे हैं से शुरू करने के लिए सेट की तलाश का उपयोग
एक फ़ाइल की शुरुआत.
हम इस स्थिति को तलाश च जा रहे हैं फाइल में, पर हमें डाल
हम चाहते हैं पंक्ति की शुरुआत हमारे बफर में पढ़ने के लिए.
>> हम पंक्ति सेट करने के लिए जा रहे हैं पुराने y के बराबर सुन्न.
तो अब अगर हम पाश वापस और हम चाहते हैं हमारे बाहर फाइल में यह एक ही पंक्ति का उपयोग
फिर हम पढ़ने के लिए नहीं जा रहे हैं इसमें फिर से अनावश्यक.
तो सच में, पंक्ति सुन्न है सिर्फ एक अनुकूलन.
>> अंत में, हम में पढ़ने के लिए जा रहे हैं वर्तमान पंक्ति पुराने चौड़ाई आरजीबी ट्रिपल
हम मूल फाइल से चाहते हैं.
तो अब चालू पंक्ति से पिक्सेल शामिल हम चाहते हैं कि मूल फाइल
बाहर फाइल में लिखें.
तो अब, सिर्फ ऊपर की तरह, के बजाय पुरानी फाइल पर iterating, हम की जरूरत
यह नई फ़ाइलें पंक्तियों पर पुनरावृति.
वैसे यहाँ, बजाय पर iterating के सभी पुराने पिक्सल की कि चालू पंक्ति में,
हम में से सब से अधिक पुनरावृति करना चाहते हैं इस में हमारी नई फ़ाइल में पिक्सल
विशेष पंक्ति.
>> हम ऐसा क्यों करना चाहते हैं?
हम हम नहीं कर रहे हैं कि यहाँ देख क्योंकि वास्तव में जरूरी है सभी का उपयोग
मूल फाइल में पिक्सल.
हम सिकुड़ रहे हैं, तो हम क्योंकि हो सकता है वास्तव में, बॉलीवुड छोड़ना चाहते हैं.
और हम हैं कि यह देखना -
एक्स फैक्टर से विभाजित -
हम y कहना जहां बारीकी यहाँ दर्पण यह पता लगाने के लिए कारक द्वारा विभाजित कि
पुराने Y-वीं पंक्ति से संबद्ध इस नई फ़ाइल में Y-वीं पंक्ति.
>> अब हम सभी लिखने जा रहे हैं पुराने पंक्ति से इन पिक्सल
हमारी नई पंक्ति में.
हम चाहते हैं कि एक बार किया है, हम करने के लिए जरूरत है तो बस हमारी पंक्ति के अंत में गद्दी डाल
और हम वापस पाश हूँ और के लिए जारी रखने के लिए हमारी नई फ़ाइल में पंक्तियों के सभी.
अंत में, हम अपने पुराने को बंद करने की जरूरत है , फ़ाइल हमारे नए फाइल बंद, और वापसी
शून्य सब कुछ ठीक हो गया है.
>> मेरा नाम रोब है और इस अवकाश था.
>> [संगीत खेल]