[MUZIKO Ludanta] ROB Bowden: Hi. Mi Rob kaj ni grandeco tiun problemon. Do ni tuj komencu per copy.c kiel ŝablonon, sed ni tuj estos fari tre malmultaj ŝanĝoj. Nun ni vidas ni tuj faras ŝanĝi kie ni ne plu kontrolanta por nia rxc ne egalas 3, sed nun ni kontrolanta rc ne valoregalas 4. Ĉar ni ankaŭ volas inkludi, en Krom la dosieron kaj eliri dosierojn argumentoj, f kiu tuj estos ĉi faktoro, per kiu ni grimpi. Do iam ni estas certa pri tio, ni volas uzi s scan f al konverti la kordo argv1 al float. Kaj ni tuj stoki ke en faktoro. Tiu aldona signo estas certigi ke ni fakte ne eniri iu kiel 1,4 ABC ĉe la komandlinio. Nun ni iras por krei iun alias ekde RV2 kaj RV3 estas ne tre helpema nomoj. Ni, kontraŭe, irante voki ilin en dosiero kaj el dosiero. Nun ni iras por certigi ke nia faktoro estis efektive validas. Do se faktoro estas malpli ol aŭ egala al nulo aŭ pli granda ol 100, tiam kiel po la specifon, ni devus malakcepti ke faktoro. Kiam ni certas ke ĝi estas bona, nun ni povas malfermi la n-dosiero, kaj ni devas fari certas, ke ĝi estis sukcese malfermita. Se ne, kiu revenos nula. Ni tuj malfermu el dosiero. Kaj denove, ni volas kontroli por fari certe ĝi estas sukcese malfermita. Kaj se ĝi ne sukcese malfermos, tiam ni ankaŭ bezonos esti certa por fermi la n dosiero kiu origine sukcese malfermita, alie ni havas memoro liko. Do nun ni legos en la bitbildo dosiero kaplinio kaj bitmap info header de la n-dosiero. Ni iras por certigi, ke la n dosiero estis valida bitmap. OK. Do nun ni tuj komencu farante kelkajn ŝanĝoj. Do ĉar ni tuj estos ŝanĝanta aĵoj, ni unue volas memori la malnovan larĝeco de la n-dosiero. Ni volas memori la malnovan Plenigado de la n dosieron per la sama kalkulo el copy.c. Kaj nun ni tuj ŝanĝos la bitmap info kaplinion. Kaj tial ni multiplikante ambaŭ la larĝeco kaj la alto de faktoro ekde tio estas, kion ni grimpi per. Ni tuj determinas la nova Plenigado de la dosiero de uzante la novan larĝa. Kaj ni tuj determinas la novan grandeco de la bildo per la nombro de bajtoj en unu vico, kiu kondukas al esti la nombro de rastrumeroj en tiu vico fojoj la grandeco de pixel plus la nombro da bajtoj el Plenigado fine de tiu vico, kaj multigante ĉiuj kiuj per la nombro de vicoj, ke ni havas. Do tio estas la nombro de bitokoj ni havos en nia bildo datumojn. Bf.Bfsize nun tuj estos la nombro de bajtoj en nia bildo beta plus la grandeco de nia titolaj. Do krom grandeco de bitmap dosieron kaplinio kaj grandeco de bitmap info kaplinion. OK. Do jen ĝi pro nia titolaj. Ni povas skribi la dosieron kapon kaj info kaplinion al niaj ekster fajliloj, kaj ni estas bonaj. Nun estas tempo por komenci efektive verki la rastrumero datumojn al la ekster-dosiero. Ni tuj deklari buffer de grandeco malnovan larĝa RVB triopoj, kaj ni estas tuj deklari variablon nomitan vico Numb, kio estas ni tuj komence starigis egala al negativa 1. Ni vidos, ke ni tuj povas uzi ke por teni spuro de kio vico ni aktuale havas ŝarĝita en ĉi tiun bufro. OK. Do nun kontraŭe al la norma eldono, anstataŭ ripetanta super ĉe la en dosiero, ni iras al persisti super ĉiu vico en la ekster-dosieron kaj elkompreni kiu vico en la dosieron ni volas meti en ĉi tiu vico en la ekster-dosiero. Do ripetanta super ĉiuj vicoj en la ekster dosieron per la nova alto, ni estas unue tuj determinas la vico en la malnova dosieron ni tuj uzi, kio ni estas tuj faros per prenante tiu fluo vico dividita per faktoro. Por ke tuj donu al ni la vico en la malnova dosiero kiun ni deziras. Do nun, se vico Numb ne egala malnovan y, Ni tuj devos legi la vico ke ni deziras en nia nuna linio bufro. Do kiel ni faros tion? Unue, ni tuj ekkompreni la pozicio kiu komencas kiu vico en la originala dosiero. Do tiu pozicio tuj estos pasinteco ĉiuj niaj titolaj kaj nun pasintaj malnovan y vicoj. Kaj do, kiom da bitokoj Estas en unu vico? Denove, grandeco de RVB triobla fojojn malnova larĝeco pli malnovaj Plenigado, do tio estas la nombro da bajtoj en unu vico. Kaj ni volas salti pasinteco malnovan y vicoj. Do ni iras al f peti kaj ni estas uzante celas aron por komenci de la komencante de dosiero. Ni iras al f celas ĉi pozicio en la dosiero, metante nin en la komencante de la vico ni volas legi en nia bufro. Ni tuj starigis vicon Numb egala al malnovaj y. Do nun, se ni buklo dorson kaj ni volas uzi tiun saman vicon en niaj ekster-dosiero, tiam ni ne legos ĝin denove nenecese. Do vere, vico Numb estas nur optimumigo. Fine, ni legos en la aktuala vico la malnovan larĝa RVB triopoj ke ni deziras de la originala dosiero. Do nun nuna linio montras la rastrumeroj el la originalan dosieron kiu ni volas skribu en la ekster-dosiero. Do nun, nur ŝatis supre, anstataŭ ripetanta tra la malnova dosiero, ni bezonas ĝi persisti super la novajn dosierojn vicoj. Nu jen, anstataŭ ripetanta super ĉiuj el la malnova rastrumeroj, ke en nuna vico, ni volas persisti super ĉiuj el la pixeles en nia nova dosiero en tiu aparta vico. Kial ni volas fari tion? Ĉar ni vidas ĉi tie ke ni ne estas reale nepre uzi ĉiujn pixeles en la originala dosiero. Ĉar se ni ŝrumpanta, eblas ke reale volas preterpasi la rastrumeroj. Kaj ni vidas, ke tiu - x dividita per faktoro - apude spegulas ĝis tie kie ni diru y dividita per faktoro elkompreni ke la malnovaj y-a vico korespondas al la y-a vico en tiu nova dosiero. Nun ni verkos ĉiuj tiuj rastrumeroj el la malnova vico en nian novan vicon. Iam ni jam faris tion, ni bezonas nur metu la Plenigado ĉe la fino de nia vico kaj ni buklo dorso kaj daŭrigi por ĉiuj el la vicoj de nia nova dosiero. Je la fino, ni devas fermi niajn malnovajn dosieron, fermu nian novan dosieron, kaj reveno nulo ĉar ĉio iris bone. Mia nomo estas Rob kaj tio estis Recess. [MUZIKO Ludanta]