[Muzikavimo] ROB Bowden: Sveiki, aš Robas, galime pabandykite tai jų dydį. Taigi, mes vėl ketiname pradėti iš esmės iš copy.c kopija, ir padaryti keletą pakeitimų. Pastaba karto matome pokyčius, kur vietoj patikrinti, pamatyti, jei argc nėra lygūs 3, norime patikrinti jei argc nėra lygi 4, nes Dabar mes ne tik atsižvelgiant į INFILE ir outfile, bet mes taip pat atsižvelgiant į n, tai suma, kurią mes mastelio originalų vaizdą. Kai mes tikri, kad mes galime tik konvertuoti n iki sveikojo skaičiaus, naudojant atoi. Taigi, dabar mes ketiname sukurti kai slapyvardžiai, tiesiog paskambinkite argv 2 INFILE ir argv 3 outfile, nes argv 2 ir argv 3 nėra labai naudinga, pavadinimus. Dabar mes norime įsitikinkite, n per greitai tikimės, todėl spec nurodoma, kad, jei jis mažesnis arba lygi nuliui, arba didesnis nei 100, tada tai negalioja resize veiksnys, ir mes turime įspėti, kad, kad vartotoją. Kai mes po visų, kad mes galime pagaliau atidaryti mūsų infile, ir mes turime klaidos įsitikinkite, kad atidarymas nepamiršo dėl kokios nors priežasties. Mums taip pat reikia atidaryti mūsų outfile ir vėl klaidos įsitikinkite, kad nepamiršo dėl kokios nors priežasties. Tačiau būkite tikri, jei iš atidarymo outfile nepavyko, kad mes reikia uždaryti INFILE, kuri jau buvo atidaryta. Taigi, darant prielaidą, kad nepamiršo, tada Labiausiai klausomos - tiesiog kaip copy.c-- ketinate skaityti antraštę iš INFILE. Mes ketiname įsitikinkite, kad tai galioja rastras, bet dabar mes ketiname padaryti kai viskas šiek tiek kitaip. Taigi, pirmiausia, mes ketiname norite prisiminti originalų plotį ir aukštį iš INFILE, nes mes ketiname keičiasi jį už outfile. Taigi dabar prisimenu, kad keistų priežasčių bi.biheight, yra neigiamas, ir todėl faktinis aukštis, ir teigiamas, mes nori imtis absoliučią vertę. Dabar, apdaila bus tas pats Apskaičiuojant, kaip tai buvo copy.c, naudojate seną plotį, ir dabar mes tikrųjų ketiname pakeisti Kas mūsų antraštėje. Taigi, mes ketiname dauginti mūsų plotį n, nes mes mastelio plotį n, padauginkite aukštį n, nes mes padidinant iš n, ir dabar mes turime naujos išklojimui skaičiavimas pagal naują pločio. Taigi dabar mes turime pakeisti kai kitų sričių mūsų antraštėje. Bi.biSizeImage turėtų būti dydis visų pikselių baitų ir apdaila iš paveikslėlio. Ir taip vieną eilutę iš mūsų dydis vaizdas yra dydžio RGB triviečiai, dydis iš vieno pikselio, kartų skaičiaus taškų iš eilės, plius ne prikimšti iš eilės pabaigos. Ir tada mes ketiname daugintis, kad absoliuti vertybė mūsų aukštyje gauti bendras baitų skaičius ir vaizdo duomenų. bf.bfSize yra tik bendras skaičius baitų mūsų vaizdiniai duomenys, todėl bi.biSizeImage plius dydis mūsų antraštes. Taigi, pridedant į bitmap failo dydis antraštėje, o dydis bitmap info antraštė, Gerai. Štai viskas, ką reikia keisti mūsų antraštes. Dabar mes rašyti bitmap failo antraštę mūsų outfile ir mūsų bitmap info header mūsų outfile, o dabar mes pasiruošę pradėti vyksta per faktinių pikselių. Taigi, mes norime pakartoti per į infile savo nuskaitymo eilučių. Taigi, mes norime pakartoti per oldheight. Štai kodėl mums reikia prisiminti, originalus aukštis, kol mes jį pakeisti ir masto jį n. Dabar mes ketiname skaityti vieno eilutė INFILE į buferio dydis oldwidth. Taigi čia mes freading dydis RGB triviečiai, vienas pikselis, ir seni plotis juos iš INFILE į mūsų buferis. Ir tai bus visa eilutėje šiame masyve. Taigi, dabar mes norime pakartoti n kartų spausdinti šią eilutę į mūsų outfile n kartų. Ir todėl, kad tai, ką šis ciklas daro. Šis vidinis kontūras iteravimu per eilutėje pati, per masyvo, spauda kiekvienas pikselis masyve n kartų. Taigi nulinis elementas yra atspausdintas n kartų, pirmasis elementas yra atspausdintas n kartų. Ir tai tarsi kaip mes ketiname horizontaliai mastelį į outfile ir šis ciklas, nes mes kilpų n kartų, tai, kaip mes ketiname vertikaliai skalė. Žemyn čia matome, kad mes turime pridėti kiekvienos eilutės pabaigoje apdaila. Štai kodėl tai yra dėl kilpa viduje tai atspausdinti visas gautas n eilučių tiesiog tai viena eilutė iš INFILE. Tada žemyn čia, aš ruošiuosi praleisti į INFILE apdaila, nes kai baigsime su vienu eilės INFILE, mes nerūpi kas prikimšti buvo. Mes tiesiog norime patekti į antrą eilutę. Ir tada mes kilpa atgal ir padaryti viską, tai vėl antroje eilėje. Galiausiai, kai baigsime su visais, kad, mes galime uždaryti infile, netoli outfile ir grąžinimas 0, nes mes padaryti. Mano vardas yra Rob, ir tai buvo resize. [Muzikavimo]