[Muzikavimo] ROB BOWDEN: Sveiki. Aš Rob ir tegul dydis iki šios problemos. Taigi, mes ketiname pradėti copy.c kaip šablonas, bet mes ketiname būti padaryti nemažai pakeitimų. Dabar mes matome, mes iš karto priėmimo keisti, kai mes nebe tikrinti už mūsų rxc nėra lygi 3, o dabar mes patikrinti rc nėra lygi 4. Kadangi mes taip pat norite įtraukti, ir papildymas į failą ir iš failų argumentai, f, kuri bus tai Veiksnys, kuriuo mes mastelio. Taigi, kai mes tikrai to norime naudoti ų nuskaitymo f konvertuoti eilutę argv1 į avansinę. Ir mes ketiname saugoti kad veiksnys. Šis papildomas pobūdis yra užtikrinti kad mes ne faktiškai neatvykstant kažkas panašaus į 1,4 ABC į komandų eilutę. Dabar mes ketiname sukurti keletą slapyvardžius nuo RV2 ir RV3 nėra labai naudinga vardai. Mes, priešingai, ketinate skambinti juos į failą ir iš failo. Dabar mes ketiname užtikrinti, kad mūsų veiksnys buvo iš tikrųjų galioja. Taigi, jei koeficientas yra mažesnis arba lygus nulinis arba didesnis nei 100, tada kaip už spec, turėtume atmesti šis veiksnys. Kai mes esame tikri, kad tai gerai, dabar mes galime atidaryti n failą, ir mes turime padaryti įsitikinkite, kad ji buvo sėkmingai atidarytas. Jei ne, tai sugrįš null. Mes ketiname atidaryti iš failo. Ir vėl, mes norime patikrinti, kad įsitikinkite, kad jis sėkmingai atidarė. Ir jei jis nebuvo sėkmingai atidaryti, tada mes taip pat turime būti tikri, kad uždaryti n failas, kuris iš pradžių sėkmingai atidarytas, ar dar turime Atminties nutekėjimas. Taigi dabar mes ketiname skaityti bitmap failas antraštės ir rastras informacija antraštės iš n failą. Mes ketiname užtikrinti, kad n failas galioja rastras. Gerai. Taigi dabar mes ketiname pradėti padaryti keletą pakeitimų. Todėl, kad mes ketiname būti pakeisti viskas, mes pirmiausia norime prisiminti Esu plotis n failą. Mes norime prisiminti senus padding n failas taikant tuos pačius apskaičiavimo nuo copy.c. Ir dabar mes ketiname pakeisti rastras informacija antraštės. Ir todėl mes dauginant tiek plotį ir iš kintamojo aukštis nuo kad tai, ką mes mastelio iki. Mes ketiname nustatyti nauja padding iki failo naudojant naują plotį. Ir mes ketiname nustatyti naują paveikslėlio dydis, naudojant skaičiaus baitų vienoje eilutėje kuri ketina būti pikselių tos eilės numeris kartų iš pikselio dydis plius baitų skaičius nuo kamšalu pabaigoje iš tos eilutės ir dauginant visa tai iš eilučių, kad mes turime skaičių. Štai baitų skaičius mes turime mūsų vaizdo duomenų. Bf.Bfsize dabar bus skaičius baitų mūsų vaizdo beta plius mūsų antraščių dydis. Taigi, plius dydis bitmap failo antraštę ir dydis bitmap info antraštėje. Gerai. Štai jis mūsų antraštes. Mes galime parašyti failą galvą ir informacija antraštę mūsų laikas failą ir mes geri. Dabar atėjo laikas pradėti realiai raštu pikselių duomenis į iš failo. Mes ketiname paskelbti apie dydžio buferį Esu plotis RGB triviečiai, ir mes ketina paskelbti kintamąjį vadinamą eilutėje nutirpęs, kuri mes ketiname pradžių prilyginta neigiamas 1. Mes matome, kad mes ketiname būti naudojant kad, siekiant stebėti, ką eilė šiuo metu jau pakrautas į šį buferinį tarpsnį. Gerai. Taigi dabar, skirtingai nei standartinės versijos, vietoj iteravimu per ne vėliau kaip per failą, mes ketiname pakartoti per kiekvieną eilutė iš failo ir išsiaiškinti kuri eilutė faile norime vieta šioje eilutėje į iš failo. Taigi iteravimu per visas eilutes laikas failą naudojant naują aukštį, mes pirmą kartą ketina nustatyti eilutę metai failą, mes ketiname naudoti, kas mes ketina padaryti pradėdami vartoti šį srovę eilutė, padalytą iš koeficiento. Taigi, kas vyksta mums eilutę senas failas, kad mes norime. Taigi dabar, jei eilutė nutirpęs nėra vienodas senas y, mes ketiname turėti skaityti eilutę kad mes norime į mūsų Manevrin eilės buferio. Taigi, kaip mes ketiname daryti? Pirma, mes ketiname išsiaiškinti, pozicija, kuris prasideda tą eilutę originalus failas. Taigi, kad padėtis bus pro visus mūsų antraštes ir dabar praeities senų y eilutės. Ir taip, kiek baitų yra vienoje eilutėje? Vėlgi, dydis iš RGB triviečiai kartų metai plotis plius sena apdaila, todėl tai baitų skaičius į vieną eilutę. Ir mes norime praleisti praeities senus y eilutes. Taigi, mes ketiname f kreiptis ir mes naudojant siekti rinkinys pradėti nuo pradžioje failą. Mes ketiname f kreiptis į šią poziciją faile, tad su mumis pradedant nuo eilės mes norime skaityti į mūsų buferis. Mes ketiname sukurti eilutę nutirpęs lygi seno y. Taigi dabar, jei mes kilpa atgal ir mes norime naudoti tą patį eilės mūsų iš failo tada mes neketiname skaityti ji vėl be reikalo. Taigi tikrai, eilutė nutirpęs yra tiesiog optimizavimas. Galiausiai, mes ketiname skaityti į dabartinė eilutė senas plotis RGB patrigubėja kad mes norime iš originalaus failo. Taigi dabar dab eilutėje yra taškų nuo originalaus failo, kad mes norime rašyti į iš failo. Taigi dabar, tiesiog norėčiau pirmiau, vietoj Iteracja ant senos bylos, mums reikia ją pakartoti per naujus failus eilučių. Na čia vietoj Iteracja virš visų senų pikselių, kad dab eilės mes norime pakartoti per visus pikselių mūsų naują failą šis pirma eilutė. Kodėl mes norime padaryti? Nes matome, kad čia mes ne iš tikrųjų nebūtinai naudojant visus pikselių originalaus failo. Nes jei mes mažėja, mes galime tikrai nori praleisti taškai. Ir mes matome, kad tai - x padalytą veiksnys - glaudžiai veidrodėliai čia, jei mes sakome, y padalytą iš koeficiento, išsiaiškinti, kad senas y oji eilutė atitinka y-tasis eilutė šioje naujoje byloje. Dabar mes ketiname rašyti visus Šie taškai iš senojo eilės į mūsų naują eilutę. Kai mes padarėme, kad mes turime tik įdėti padding ne mūsų eilės pabaigos ir mes kilpą atgal ir tęsti visi mūsų naują failą eilučių. Pabaigoje mes reikia uždaryti mūsų senas failą, uždarykite mūsų naują failą ir grąžinimas nulis, nes viskas buvo gerai. Mano vardas yra Rob ir tai buvo pertrauką. [Muzikavimo]