>> [સંગીત વગાડવાનો]
>> રોબ બોડેન: હાય, હું રોબ છું, ચાલો માપ માટે આ પ્રયાસ કરો.
તેથી, અમે ફરી સાથે શરૂ થઈ રહ્યું છે મૂળભૂત રીતે આ copy.c નકલ છે, અને
થોડા ફેરફારો કરી.
તરત જ અમે ફેરફાર જોવા નોંધ જ્યાં તેના બદલે તે જોવા માટે ચકાસણી જો
argc, અમે તપાસ 3 સમાન નથી માંગો છો કરે છે argc થી, 4 સમાન નહી હોય તો
હવે અમે માત્ર એક infile માં લઈ રહ્યાં છો અને outfile, પરંતુ અમે જેમાં લઇ રહ્યા છીએ
અમે છો કે રકમ છે જે n એ, મૂળ છબી દ્વારા ખેંચે.
કેવી રીતે માની છો એકવાર, અમે કરી શકો છો ફક્ત atoi મદદથી પૂર્ણાંક n એ રૂપાંતરિત કરો.
>> તેથી, હવે અમે કેટલીક બનાવવા જઈ રહ્યાં છો ઉપનામ, માત્ર 2 infile argv કહી, અને
3 argv outfile, argv 2 અને કારણ 3 argv ખૂબ જ ઉપયોગી નામો નથી.
હવે અમે ખાતરી n એ છે તે જાણવા માટે તપાસ કરવા માંગો છો કરતી હોય અમે અપેક્ષા, જેથી
સ્પેક સ્પષ્ટ કરે છે કે તે કરતાં ઓછી અથવા જો , શૂન્ય સમાન છે, અથવા 100 થી વધુ
પછી તે અમાન્ય પુન: માપ પરિબળ છે, અને અમે તે વપરાશકર્તા ચેતવણી જોઈએ.
>> અમે બધા બહાર છો એકવાર, અમે કરી શકો છો આખરે અમારા infile ખોલો, અને અમે જરૂર
ખાતરી કરો કે ચકાસણી ભૂલમાં ના શરૂઆતના કેટલાક કારણોસર નિષ્ફળ ન હતી.
અમે પણ અમારા outfile ખોલવા માટે જરૂર છે, અને ફરીથી કરો કે ખાતરી કરવા માટે ચકાસણી ભૂલ
કેટલાક કારણોસર નિષ્ફળ ન હતી.
પરંતુ ખાતરી કરો જો ના ઉદઘાટન outfile અમે બંધ કરવા જેવી નિષ્ફળ
પહેલેથી જ ખોલવામાં આવી હતી જે infile,.
>> તો પછી, કે નિષ્ફળ ન હતી એમ ધારી રહ્યા છીએ we're - જસ્ટ તરીકે copy.c--
હેડરમાં વાંચી રહ્યા માટે infile છે.
અમે ખાતરી કરો કે તે માન્ય છે કરી રહ્યા છીએ બીટમેપ, પરંતુ હવે અમે કેટલીક કરી રહ્યા છીએ
થોડી અલગ વસ્તુઓ.
તેથી પ્રથમ, અમે કરવા માંગો છો જઈ રહ્યાં છો મૂળ પહોળાઈ અને ઊંચાઈ યાદ
માટે infile છે, કારણ કે અમે રહ્યા છીએ outfile માટે તે બદલવા.
તેથી હવે વિચિત્ર કારણોસર યાદ રાખો કે bi.biheight, નકારાત્મક છે, અને
જેથી વાસ્તવિક ઊંચાઈ, હકારાત્મક, અમે ચોક્કસ કિંમત લેવા માંગો છો.
>> હવે, ગાદી જ રહ્યું છે તે copy.c હતો ગણતરી તરીકે,
જૂના પહોળાઈ મદદથી, અને હવે અમે છો ખરેખર બદલવાનો
અમારા હેડરમાં છે.
તેથી અમે કરીને અમારી પહોળાઈ વધવું રહ્યા છીએ n એ, અમે દ્વારા પહોળાઇ ખેંચે કરી રહ્યાં છો કારણ કે
અમે છો કારણ કે n એ,, n દ્વારા ઊંચાઇ મલ્ટીપ્લાય n દ્વારા ખેંચે છે, અને હવે અમે હોય
નવી ગાદી માટે ગણતરી નવા પહોળાઈ પર આધારિત છે.
>> તેથી હવે અમે કેટલીક બદલવાની જરૂર અમારા હેડરમાં અન્ય ક્ષેત્રો.
Bi.biSizeImage પાંચ હશે તેવું માનવામાં આવે છે પિક્સેલ તમામ બાઇટ્સ કદ
અને ઈમેજના ગાદી.
અને તેથી અમારા એક પંક્તિ માપ છબી RGB કદ ત્રણ, માપ છે
એક પિક્સેલ છે, વખત સંખ્યા સળંગ પિક્સેલ્સ, વત્તા ગાદી પર
આ પંક્તિ ના અંત થાય છે.
અને પછી અમે એ મલ્ટીપ્લાય રહ્યા છીએ વિચાર અમારા ઊંચાઇ ચોક્કસ કિંમત
બાઇટ્સ કુલ સંખ્યા છબી માહિતી માં.
bf.bfSize માત્ર કુલ સંખ્યા છે અમારી છબી માહિતી માં બાઇટ્સ, જેથી
bi.biSizeImage, વત્તા અમારા હેડરો માપ.
તેથી, બીટમેપ ફાઇલ માપ પર ઉમેરી રહ્યા છે બીટમેપ માહિતી હેડર, અને કદ
બરાબર, હેડર.
જેથી અમે જરૂર છે અમારા હેડરો માં બદલો.
હવે અમે બીટમેપ ફાઇલ હેડરમાં લખીશ અમારા outfile, અને અમારા બીટમેપ માહિતી માટે
હવે અમારા outfile માટે મથાળું, અને અમે જવાનું શરૂ કરવા માટે તૈયાર છો
વાસ્તવિક પિક્સેલ્સ પર.
>> તેથી અમે ઉપર ફરી વળવું કરવા માંગો છો માટે infile માતાનો સ્કેન રેખાઓ.
તેથી અમે oldheight પર ફરી વળવું કરવા માંગો છો.
અમે યાદ કરવા માટે જરૂરી આ શા માટે છે અમે તેને બદલવા પહેલાં મૂળ ઊંચાઇ,
અને n કરીને નાનું.
હવે અમે એક જ વાંચી રહ્યા છીએ એક માં infile ની પંક્તિ
કદ oldwidth ની બફર.
RGB ના અહીં, અમે કરી રહ્યાં છો freading કદ ત્રણ, માત્ર એક પિક્સેલ, અને જૂના પહોળાઈ
અમારા બફર માં infile તેમને.
અને તે સમગ્ર જ હશે આ એરે પંક્તિ.
તેથી હવે, અમે માટે n વખત ફરી વળવું કરવા માંગો છો અમારા outfile n વખત આ પંક્તિ છાપો.
અને તેથી તે આ લૂપ શું કરી છે.
આ આંતરિક લૂપ પર વારો છે એરે, પ્રિન્ટીંગ પર, પોતે પંક્તિ
એરે n એ સમયમાં દરેક પિક્સેલ.
તેથી આ zeroth તત્વ મુદ્રિત કરવામાં આવી રહી છે n વખત, પ્રથમ તત્વ કરવામાં આવી રહી છે
n વખત મુદ્રિત.
અને તે પ્રકારના કેવી રીતે અમે રહ્યા છીએ છે આડા outfile માં, માપ, અને
આ લૂપ, અમે n રહ્યાં રહ્યાં છો, કારણ કે વખત, અમે જઈ રહ્યાં છો કેવી રીતે
ઊભી પાયે.
>> અહીં નીચે, અમે અમે ઉમેરવાની જરૂર છે કે નહીં તે જોવા દરેક પંક્તિ ઓવરને અંતે પેડિંગ.
આ માટે લૂપ અંદર છે કે શા માટે કે જે હમણાં જ ના n એ પંક્તિઓ પ્રિન્ટ કરે છે
માટે infile આ એક પંક્તિ.
પછી અહીં નીચે, હું ઉપર છોડી દો જાઉં છું infile માં પેડિંગ, એક વખત થી
અમે એક પંક્તિ પૂર્ણ કરી લીધું છે infile, અમે વિશે કાળજી નથી
શું પેડિંગ હતી.
અમે હમણાં જ બીજી પંક્તિ પર વિચાર કરવા માંગો છો.
અને પછી અમે પાછા લૂપ પડશે અને તમામ કરવું આ ફરીથી બીજા પંક્તિ માટે.
>> છેલ્લે, એક વખત અમે બધા પૂર્ણ કરી લીધું છે, અમે બંધ કરો, માટે infile બંધ કરી શકો છો
માટે outfile, અને વળતર 0 અમે પૂર્ણ કરી લીધું છે.
>> મારું નામ રોબ છે, અને આ પુન: માપ હતી.
>> [સંગીત વગાડવાનો]