>> [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]