>> [MUSIC PLAYING]
>> Rob Bowden: Hi, I Rob deyiləm, qoy ölçüsü üçün bu cəhd edin.
Belə ki, biz yenidən başlamaq üçün gedir əsasən bir copy.c surəti, və
Bir neçə dəyişikliklər etmək.
Dərhal biz bir dəyişiklik görmək Qeyd yerləşir əvəzinə görmək yoxlanılması əgər
argc, biz yoxlamaq 3 bərabər deyil istəyir argc ildən, 4 bərabər deyil, əgər
İndi biz yalnız bir INFILE alaraq deyilik və outfile, lakin biz də qəbul edirik
biz istəyirik ki, məbləği olan n, orijinal image ilə scaling.
Biz ki, emin, biz yalnız ATOI istifadə edərək tam n çevirmək.
>> Belə ki, indi biz bəzi yaratmaq olacaq takma, yalnız 2 INFILE argv zəng və
argv 3 outfile, argv 2 və çünki argv 3 çox faydalı adları deyil.
İndi biz əmin n etmək üçün check istədiyiniz çərçivəsində biz gözləyirik, belə ki,
spec ifadə edən az və ya əgər , sıfıra bərabər və ya 100-dən çox
o yalnış ölçüsünü amil var, və biz istifadəçi xəbərdar etməlidir.
>> Biz bütün kənarda istəyirik, biz nəhayət bizim INFILE açmaq, və biz lazım
əmin olun səhv etmək açılış nədənsə uğursuz olmadı.
Biz OUTFILE açmaq lazımdır, və daha əmin olun səhv
nədənsə uğursuz olmadı.
Amma əmin olun əgər açılış outfile biz bağlamaq lazımdır ki, uğursuz
artıq açıldı olan INFILE.
>> Belə ki, sonra, uğursuz etməyib fərz BİZ beləyik - yalnız kimi copy.c -
mövzu oxumaq üçün gedir Bu INFILE olan.
Biz əmin bir etibarlı etmək olacaq bitmap, lakin indi biz bəzi nə olacaq
bir az fərqli şeylər.
Belə ki, birinci, biz istəyirəm olacaq orijinal eni və hündürlüyü xatırlayıram
Bu INFILE, çünki biz olacaq Bu outfile üçün dəyişən.
Belə ki, indi qəribə səbəblərdən olduğunu unutmayın bi.biheight, mənfi, və
belə faktiki hündürlüyü, müsbət, Mütləq dəyər etmək istəyirəm.
>> İndi, padding eyni olacaq Bu copy.c idi hesablanması kimi,
köhnə eni istifadə edərək, və indi biz istəyirik həqiqətən dəyişdirmək niyyətindədir
Bizim mövzu nə var.
Belə ki, biz bizim eni çoxaltmaq olacaq n, biz eni scaling edirik
biz deyilik ildən n, n hündürlüyü çoxaltmaq n scaling, və indi biz
yeni padding üçün hesablanması yeni eni əsaslanır.
>> Belə ki, indi biz bəzi dəyişdirmək lazımdır Bizim mövzu digər sahələrdə.
Bi.biSizeImage olmaq üçün nəzərdə tutulur piksel bütün bayt ölçüsü
və image padding.
Və bizim bir sıra ölçüsü image RGB ölçüsü üç, ölçüsü
bir pixel, dəfə sayı Bir sıra piksel, üstəgəl padding da
sıra sonu.
Və sonra biz tərəfindən çoxaltmaq olacaq almaq üçün bizim hündürlüyü mütləq dəyər
bytes ümumi sayı image data.
bf.bfSize yalnız ümumi sayı bizim image data bayt, belə ki,
bi.biSizeImage, üstəgəl Bizim mövzular ölçüsü.
Belə ki, bitmap fayl ölçüsü əlavə bitmap info header, və ölçüsü
OK, header.
Belə ki, biz lazım olan bütün var Bizim başlıqlarını dəyişmək.
İndi biz bitmap fayl mövzu yazmaq lazımdır bizim outfile və bitmap info
İndi bizim outfile header, və biz davam başlamaq üçün hazır
faktiki piksel üzərində.
>> Beləliklə, biz təkrarlamaq istəyirəm Bu INFILE nin scan xətləri.
Beləliklə, biz oldheight üzərində təkrarlamaq istəyirəm.
Biz xatırlamaq üçün lazım nə Bu biz bunu dəyişdirmək əvvəl orijinal hündürlüyü,
və n onu miqyaslı.
İndi biz bir oxumaq olacaq bir daxil INFILE sıra
ölçüsü oldwidth bufer.
RGB Odur ki, biz freading edirik ölçüsü üç, bir pixel və köhnə eni
bizim bufer daxil INFILE onları.
Və bütün olacaq Bu array satır.
Belə ki, indi biz n dəfə təkrarlamaq istəyirəm bizim outfile n dəfə bu sıraya çap.
Və belə ki, bu loop nə var.
Bu daxili loop üzərində iterating olunur Bu array, çap üzərində özünü sıra
serialın n dəfə hər pixel.
Belə ki, zeroth element çap olunur n dəfə ilk element olunur
n dəfə çap.
Və sort necə biz davam edirik yatay outfile miqyaslı, və
Bu loop, biz n loop edirik dəfə, biz olacaq necə
şaquli miqyaslı.
>> Aşağı burada, biz əlavə etmək lazımdır ki, bax hər sıra sonunda padding.
Bu üçün loop içində nə var yalnız bu n satır çap edir
Bu INFILE bu bir sıra.
Sonra aşağı burada, mən artıq keçmək üçün gedirəm Bu INFILE ildə padding, bir dəfə ildən
biz bir sıra ilə tamamlayın INFILE, biz qayğı yoxdur
nə padding idi.
Biz yalnız ikinci sırada almaq istəyirəm.
Və sonra biz geri loop olacaq və hər şeyi bu yenə ikinci sırada üçün.
>> Nəhayət, bir dəfə biz bütün ilə tamamlayın, biz yaxın INFILE bağlaya bilər
Bu outfile və qaytarılması 0 biz tamamlayın çünki.
>> My name Rob və bu ölçüsünü idi.
>> [MUSIC PLAYING]