>> [MUSIC PLAYING]
>> Rob Bowden: Hi.
Mən Rob Ben edək ölçüsü Bu problemin up.
Belə ki, biz copy.c ilə başlamaq olacaq bir şablon, lakin biz olacaq
bir neçə dəyişikliklər edilməsi.
>> İndi biz dərhal edirik bax biz artıq yoxlanılması olduğunuz dəyişdirmək
Bizim rxc indi 3 bərabər, lakin etməz biz rc kontrol edirik 4 bərabər deyil.
Biz də, daxil etmək istəyirəm ildən fayl və faylları əlavə
bu olacaq olan dəlilləri, f biz scaling edirik olan amil.
>> Biz ki, emin Belə ki, bir dəfə biz istəyirik simli çevirmək s scan f istifadə
bir float argv1.
Və biz saxlamaq olacaq ki, amil.
Bu əlavə xarakter əmin edir biz, həqiqətən, daxil deyil ki,
1.4 ABC kimi bir şey command line.
>> İndi biz takma yaratmaq olacaq RV2 və RV3 deyil, çünki
çox faydalı adları.
Biz əvəzinə, zəng olacaq Onlara fayl və fayl həyata.
İndi biz əmin etmək olacaq Bizim amil həqiqətən etibarlı idi.
Belə ki, amil daha az və ya bərabər olduqda sıfır və ya daha çox 100-dən, sonra başına
spec biz rədd etməlidir ki, amil.
>> Biz əmin olduğunuzda indi biz, yaxşı n faylı açın və biz etmək
uğurla açıldı əmin olun.
Bu olmasaydı, ki null qayıdacaqlar.
Biz həyata faylı açmaq olacaq.
Və yenə, biz etmək check istədiyiniz əmin uğurla açdı.
Və o, uğurla, sonra açıq olmasaydı biz də yaxın əmin olmaq lazımdır
n fayl olan ilk uğurla açılan, və ya başqa biz bir
yaddaş sızıntısı.
>> Belə ki, indi biz bitmap oxumaq olacaq fayl header və bitmap info
n faylı header.
Biz əmin etmək olacaq n fayl cari bitmap idi.
OK.
>> Belə ki, indi biz başlamaq olacaq bəzi dəyişikliklər edilməsi.
Biz dəyişdirilməsi olacaq, çünki şeylər, biz ilk xatırlamaq istəyirəm
n fayl köhnə eni.
Biz köhnə padding və xatırlamaq istəyirəm Eyni hesablanması istifadə edərək n fayl
copy.c. dən
>> Və indi biz dəyişiklik olacaq bitmap info header.
Və belə ki, biz eni də vurulması edirik və ildən amil hündürlüyü
ki, biz scaling edirik.
Biz müəyyən olacaq fayl ilə yeni padding
yeni eni istifadə.
Və biz yeni müəyyən etmək olacaq sayı istifadə image ölçüsü
niyyətində olan bir sıra bayt ki, üst-üstə piksel sayı
dəfə bir pixel ölçüsü üstəgəl sonunda padding bayt sayı
ki, sıra, və bütün vurulması biz ki, satır sayı.
Belə ki bytes sayı var biz image data var.
>> Bf.Bfsize indi sayı olacaq bizim image beta bayt plus
Bizim başlıqlarını ölçüsü.
Bitmap fayl header belə plus ölçüsü və bitmap info mövzu ölçüsü.
OK.
Belə ki, bizim mövzular üçün bu.
Biz fayl baş yaza bilərsiniz Bizim out info header
fayl və biz yaxşı deyilik.
>> İndi həqiqətən başlamaq üçün vaxt Bu pixel yazı
həyata fayl data.
Biz ölçüsü bufer elan olacaq köhnə eni RGB üç dəfə, və biz
adlı dəyişən elan etmək niyyətindədir biz olacaq olan sıra donmuş,
ilkin mənfi 1 bərabər müəyyən.
Biz istifadə etmək olacaq ki, görürsünüz ki, nə takip üçün
Hal-hazırda yüklü sıra Bu bufer daxil.
OK.
>> Belə ki, indi standart nəşr fərqli olaraq əvəzinə in üzərində iterating
fayl, biz hər üzərində təkrarlamaq olacaq həyata faylı satır və anlamaq
biz istəyirik fayl olan sıra həyata faylı bu sırada yer.
Belə ki, həyata bütün satır üzərində iterating Yeni boyu istifadə edərək fayl, biz ilk istəyirik
köhnə sıra müəyyən etmək üçün gedir biz istəyirik ki, istifadə etmək olacaq fayl
Bu cari alaraq edəcəyimiz sıra amil bölünür.
Belə ki, bizə sıra vermək olacaq biz istəyirik ki, köhnə fayl.
>> Belə ki, indi əgər sıra donmuş bərabər köhnə y yoxdur, biz sıra oxumaq üçün olacaq
biz cur sıra bufer daxil istəyirəm ki,.
Belə ki, necə biz bunu edəcəyik?
Birincisi, biz anlamaq olacaq Bu ki, sıra başlayır mövqeyi
original file.
Belə ki, mövqe olacaq Bizim mövzular və bütün keçmiş
İndi keçmiş köhnə y satır.
>> Və neçə bayt bir sıra var?
Yenə üç dəfə RGB ölçüsü köhnə width plus köhnə padding, belə ki, var
bir sıra bayt sayı.
Və biz keçmiş köhnə y satır keçmək istəyirəm.
Beləliklə, biz f axtarmaq olacaq və biz Bu başlamaq üçün set axtarmaq istifadə
bir fayl başlayan.
Biz bu vəziyyəti geri axtarmaq f olacaq fayl, bu bizə qoyaraq
Biz istəyirik sırasında başlayan bizim bufer daxil oxumaq üçün.
>> Biz sıra müəyyən olacaq köhnə y bərabər key.
Belə ki, indi əgər biz loop geri və biz istəyirik Bizim həyata faylı bu eyni sıra istifadə,
sonra biz oxumaq fikrində deyilik Bu yenidən lazımsız.
Belə ki, həqiqətən, sıra donmuş yalnız bir optimallaşdırılması.
>> Nəhayət, biz oxumaq olacaq cari sıra köhnə eni RGB üç dəfə
Biz orijinal fayl istəyirəm ki,.
Belə ki, indi CUR sıra olan piksel var biz istəyirik ki, orijinal fayl
həyata fayla yazmaq.
Belə ki, indi, yalnız yuxarıda kimi, yerinə köhnə fayl üzərində iterating, biz lazım
yeni faylları satır üzərində təkrarlamaq.
Yaxşı, burada əvəzinə üzərində iterating bütün köhnə piksel ki cur sıra,
biz bütün təkrarlamaq istəyirəm Bu bizim yeni fayl pixels
xüsusi satır.
>> Niyə biz bunu istəyirsiniz?
Biz deyilik ki, burada baxın Çünki həqiqətən mütləq bütün istifadə
orijinal fayl pixels.
Biz azalan edirsinizsə, biz bilər, çünki əslində piksel keçmək istəyirəm.
Və biz bu bax -
x amil bölünür -
biz y demək olduğu yaxından burada güzgülər anlamaq üçün amil bölünür ki,
köhnə y-ci sıra uyğundur Bu yeni fayl y-ci sıra.
>> İndi biz bütün yazmaq olacaq köhnə sıra bu pixels
yeni sıra daxil.
Biz etdik, biz lazımdır yalnız bizim sıra sonunda padding qoymaq
və biz geri loop olacaq və davam yeni fayl satır bütün.
Sonda, biz köhnə bağlamaq lazımdır , fayl yeni fayl yaxın və qaytarılması
sıfır hər şey gözəl getdi, çünki.
>> My name Rob və bu Recess idi.
>> [MUSIC PLAYING]