[Daqq tal-mużika] ROB BOWDEN: Hi. Jien Rob u let daqs tal- up din il-problema. Allura aħna qed tmur biex tibda bil copy.c bħala template, imma aħna qed tmur biex tkun tagħmel pjuttost ftit tibdiliet. Issa naraw aħna qed immedjatament jagħmlu bidla fejn aħna qed m'għadhomx verifika għall RXC tagħna ma daqs 3, iżda issa aħna qed iċċekkjar rc ma ugwali 4. Peress li aħna rridu wkoll li jinkludu, b'mod Minbarra l-fil-fajl u barra files argumenti, f li se jkun dan fattur li bih aħna qed skalar. Allura ladarba aħna żgur ta 'dak, irridu tuża s scan f li jikkonvertu l-sekwenza argv1 għal float. U aħna qed tmur biex jaħżnu dan il-fattur. Dan il-karattru addizzjonali qed tagħmel ċert li aħna ma attwalment jidħlu xi ħaġa bħal 1.4 ABC fil-linja tal-kmand. Issa aħna qed tmur biex joħolqu xi psewdonomi peress RV2 u RV3 mhumiex ismijiet utli ħafna. Aħna, minflok, se sejħa minnhom fil-fajl u l-fajl. Issa aħna qed tmur biex tiżgura li fattur tagħna kien effettivament valida. Mela jekk fattur huwa inqas minn jew ugwali għal żero jew iżjed minn 100, allura kif kull l-spec, għandna tirrifjuta dak il-fattur. Meta aħna żgur huwa tajjeb, issa nistgħu tiftaħ il-fajl n, u għandna biex jagħmlu żgur li nfetħet b'suċċess. Jekk ma, li se terġa 'lura null. Aħna ser tiftaħ il-fajl out. U għal darb'oħra, irridu li jivverifika sabiex ikun ċert li huwa fetaħ b'suċċess. U jekk ma tiftaħ b'suċċess, allura aħna wkoll bżonn biex tkun ċert li tagħlaq il-fajl n li oriġinarjament b'suċċess jinfetaħ, jew inkella għandna memorja nixxija. Allura issa aħna qed tmur biex taqra fil-Bitmap header fajl u info Bitmap header mill-fajl n. Aħna qed tmur biex tiżgura li l- fajl n kien Bitmap valida. OK. Allura issa aħna qed tmur biex tibda tagħmel xi bidliet. Allura għaliex aħna qed tmur biex jinbidlu affarijiet, aħna l-ewwel trid tiftakar il- wisa antika tal-fajl n. Irridu niftakru l-ikkuttunar antika ta ' il-fajl n jużaw l-istess kalkolu minn copy.c. U issa aħna qed tmur għall-bidla l-header info Bitmap. U hekk aħna qed multiplikazzjoni kemm il-wisa ' u l-għoli mill-fattur peress dak hu li aħna qed skalar minn. Aħna ser tiddetermina l- ikkuttunar ġdid tal-fajl mill- jużaw il-wisa ġdid. U aħna qed tmur biex jiddeterminaw il-ġdid daqs tal-immaġini li jużaw in-numru ta ' bytes fir-ringiela waħda li se jkun in-numru ta 'pixels li ringiela darbiet id-daqs ta 'pixel flimkien mal- Numru ta 'bytes ta' padding fl-aħħar ta 'dik ringiela, u multiplikazzjoni kollu li bin-numru ta 'ringieli li għandna. Allura dak in-numru ta 'bytes għandna fil-image data tagħna. Bf.Bfsize issa se jkun in-numru ta 'bytes fil-immaġni beta tagħna plus id-daqs tal headers tagħna. Allura plus daqs tal-fajl Bitmap header u d-daqs tal-header info Bitmap. OK. Allura dak għal headers tagħna. Aħna jista 'jikteb il-kap fajl u header info out tagħna fajl, u aħna qed tajba. Issa wasal iż-żmien biex jibdew attwalment miktub l-pixel data għall-fajl out. Aħna qed tmur biex tiddikjara buffer mid-daqs RGB wisa qodma jittripplika, u aħna ser tiddikjara varjabbli imsejjaħ numb ringiela, li hija aħna qed tmur biex stabbiliti inizjalment ugwali għal negattiva 1. Aħna ser tara li aħna qed tmur biex tkun qed tuża li biex iżżomm rekord ta 'dak ringiela għandna attwalment mgħobbija fis dan buffer. OK. Allura issa b'differenza mill-edizzjoni standard, minflok mtennija fuq fil-fil file, aħna qed tmur biex jtenni fuq kull ringiela fil-fajl out u l-figura li ringiela fil-fajl li rridu post f'din il-filliera fil-fajl out. Allura mtennija fillieri kollha fit-out fajl tuża l-għoli ġdid, aħna qed ewwel ser tiddetermina l-ringiela fil-qodma fajl aħna qed tmur għall-użu, li aħna qed se tagħmel billi dan attwali ringiela diviż bil-fattur. Allura li għaddej biex tagħtina l-ringiela fil-fajl qodma li rridu. Mela issa jekk numb ringiela ma y qodma mhux ugwali, aħna qed tmur biex għandek taqra r-ringiela li aħna rridu fis cur buffer ringiela tagħna. Allura kif huma aħna se tagħmel dan? L-ewwel, aħna qed tmur biex insemmu l- pożizzjoni li jibda dak ringiela fil- fajl oriġinali. Sabiex il-pożizzjoni se tkun passat kollha ta 'headers tagħna u ringieli y qodma issa li għaddew. U hekk kif ħafna bytes huma ringiela waħda? Għal darb'oħra, id-daqs tal-RGB drabi tripla qodma wisa plus ikkuttunar qodma, b'tali mod li l- numru ta 'bytes fir-ringiela waħda. U rridu skip ringieli passat y qodma. Allura aħna qed tmur biex f tfittex u aħna jużaw tfittex stabbiliti biex jibdew mill- bidu ta 'fajl. Aħna ser f jfittex li din il-pożizzjoni fil-fajl, it-tqegħid us fil- bidu tar-ringiela rridu li jaqra fis buffer tagħna. Aħna ser jistabbilixxu ringiela numb ugwali għal y qodma. Allura issa jekk aħna loop lura u rridu li juża l-istess ringiela fil-fajl out tagħna, allura aħna ma tkunx qed tmur biex taqra huwa fl-ġdid bla bżonn. Allura verament, numb ringiela hija biss ottimizzazzjoni. Fl-aħħarnett, aħna qed tmur biex taqra fil- ringiela attwali tal-RGB wisa qodma jittripplika li rridu mill-fajl oriġinali. Allura issa ringiela cur fih l-pixels minn l-inkartament oriġinali li rridu tikteb fil-fajl out. Allura issa, bħad fuq, minflok mtennija fuq il-fajl qodma, għandna bżonn li jtenni fuq il-fillieri fajls ġodda. Well hawnhekk, minflok mtennija fuq kollha tal-pixels qodma li fir-ringiela kur, irridu li jtenni fuq kollha ta 'l- pixels fil-fajl ġdid tagħna f'dan il- partikolari filliera. Għaliex irridu li tagħmel dan? Għaliex naraw hawnhekk li aħna mhux qed attwalment neċessarjament użu kollha tal- pixels fil-fajl oriġinali. Għaliex jekk aħna qed tiċkien, nistgħu fil-fatt tixtieq li skip il-pixels. U naraw li dan - x diviż bil-fattur - qrib mirja up here fejn ngħidu y diviż bil-fattur biex insemmu li il-filliera y-th qodma jikkorrispondi għal il-filliera 'y th f'dan fajl ġdid. Issa aħna qed tmur biex jiktbu kollha dawn pixels mir-ringiela qodma fis ringiela ġdida tagħna. Ladarba aħna ghamilt li, għandna bżonn biss tpoġġi l-padding fl-aħħar tal ringiela tagħna u aħna ser loop lura u tkompli għal kollha ta 'l-ringieli fil-fajl ġdid tagħna. Fl-aħħar, għandna bżonn li tagħlaq tagħna qodma fajl, agħlaq fajl ġdid tagħna, u r-ritorn zero għaliex kollox marru multa. Jisimni Rob u dan kien riċess. [Daqq tal-mużika]