>> [MIZIK jwe]
>> ROB BOWDEN: Hi.
Mwen se Rob epi kite gwosè a moute pwoblèm sa a.
Se konsa, nou ap ale nan kòmanse ak copy.c kòm yon modèl, men nou ap ale nan dwe
fè byen yon chanjman kèk.
>> Koulye a, nou wè n ap imedyatman fè yon chanje kote n ap pa gen okenn ankò tcheke
pou rxc nou yo pa egal a 3, men kounye a nou ap tcheke rc pa egal a 4.
Depi nou vle tou enkli ladan yo, nan adisyon a nan dosye ak soti dosye yo
agiman, f ki se pral fè sa a faktè pa ki nou ap dekale.
>> Se konsa, yon fwa nou ap asire w de sa, nou vle sèvi ak yo optik f konvèti fisèl la
argv1 nan yon flote.
Apre sa, nou pral nan magazen ke nan faktè.
Sa a karaktè plis ap fè asire w ke ke nou ap pa aktyèlman k ap antre nan
yon bagay tankou 1.4 ABC nan liy lan lòd.
>> Koulye a, nou ap ale nan kreye kèk anpren depi RV2 ak RV3 yo pa
non trè itil.
Nou ap, olye de sa, ale nan rele yo nan dosye ak soti dosye-a.
Koulye a, nou ap ale nan asire w ke faktè nou te aktyèlman ki valid.
Se konsa, si faktè se mwens pase oswa egal a zewo oswa pi gran pase 100, Lè sa a, tankou pou chak
espèk a, nou ta dwe rejte ki faktè.
>> Lè nou ap asire w li bon, kounye a nou kapab ouvri dosye a n yo, epi nou gen fè
asire w ke li te avèk siksè louvri.
Si li pa t ', ki pral retounen nil.
Nou pral ouvri dosye a deyò.
Li di ankò, nou vle tcheke fè asire li byen avèk siksè louvri.
Men, si li pa t 'avèk siksè louvri, lè sa a nou bezwen tou asire w ke ou fèmen
dosye a n ki orijinal avèk siksè louvri, oswa lòt moun nou gen yon
memwa koule.
>> Se konsa, kounye a nou ap ale nan li nan bitmap la dosye header ak bitmap info
header nan dosye a n.
Nou pral asire w ke nan dosye n te yon bitmap ki valid.
OK.
>> Se konsa, kounye a nou ap ale nan kòmanse fè kèk chanjman.
Se konsa, paske nou ap ale nan dwe chanje bagay sa yo, nou premye bezwen sonje la
lajè fin vye granmoun nan dosye a n.
Nou vle sonje padding la fin vye granmoun nan dosye a n lè l sèvi avèk kalkil la menm
soti nan copy.c.
>> Epi, koulye a nou pral chanje info bitmap lento a.
Se konsa, nou ap miltipliye tou de lajè a ak wotè a pa faktè depi
se sa ki nou ap dekale pa.
Nou pral detèmine a nouvo padding nan dosye a pa
lè l sèvi avèk lajè a nouvo.
Apre sa, nou pral detèmine nouvo a gwosè nan imaj la lè l sèvi avèk nimewo a nan
bytes nan yon sèl ranje ki se ale nan gen nimewo a nan piksèl nan ki ranje
fwa gwosè a nan yon pixel plis la kantite bytes nan padding nan fen
nan ki ranje, ak miltipliye tout sa ki pa kantite ranje ke nou gen.
Se konsa, sa a, se ki kantite bytes nou gen nan done pòtre ak nou.
>> Bf.Bfsize koulye a, se pral fè nimewo a nan bytes nan beta pòtre ak nou plis
gwosè a nan Tèt nou an.
Gwosè Se konsa, plis nan dosye bitmap header ak gwosè nan bitmap info header.
OK.
Se konsa, sa a, se li pou Tèt nou an.
Nou ka ekri tèt la dosye ak enfòmasyon header soti nou an
pote, epi nou ap bon.
>> Koulye a, li lè yo kòmanse aktyèlman ekri pixel nan
done nan dosye a deyò.
Nou pral deklare yon zòn de defans nan gwosè fin vye granmoun lajè Rgb tripl, epi nou ap
ale nan deklare yon varyab rele angoudi ranje, ki se nou pral
okòmansman mete egal a negatif 1.
Nou pwal wè ke nou ap ale nan dwe lè l sèvi avèk ke yo nan lòd kenbe tras nan sa ki
ranje nou kounye a yo te chaje nan zòn de defans sa a.
OK.
>> Se konsa, koulye kontrèman ak edisyon an estanda, olye pou yo iteration sou nan nan nan
dosye, nou ap ale nan repňte sou chak ranje nan dosye a deyò epi yo konnen
Ki ranje nan dosye a nan nou vle mete nan ranje sa a nan dosye a deyò.
Se konsa, iteration sou tout ranje nan soti nan pote lè l sèvi avèk wotè a nouvo, nou ap premye
ale nan detèmine ranje a nan fin vye granmoun lan pote nou pral sèvi ak yo, ki nou ap
pral fè pa pran kounye a sa a ranje divize pa faktè.
Se konsa, ki nan ale nan ban nou ranje a nan dosye a fin vye granmoun ke nou vle.
>> Se konsa, koulye a si angoudi ranje fè sa ki pa egal fin vye granmoun y, nou ap pral fè yo li ranje a
ke nou vle nan zòn de defans ranje akt nou an.
Se konsa, kouman nou pral fè sa?
Premyèman, nou ap ale nan figi konnen an pozisyon ki kòmanse ki ranje nan la
orijinal dosye-a.
Se konsa, ki pozisyon a pwal sot pase yo tout Tèt nou yo ak
kounye a sot pase yo fin vye granmoun y ranje.
>> Se konsa, ki jan anpil bytes yo se nan yon sèl ranje?
Yon fwa ankò, gwosè nan Rgb trip fwa fin vye granmoun lajè plis fin vye granmoun padding, se konsa sa a, se la
kantite bytes nan yon sèl ranje.
Apre sa, nou vle sote sot pase yo fin vye granmoun ranje y.
Se konsa, nou ap ale nan f chache e nou ap lè l sèvi avèk chache mete yo kòmanse soti nan la
kòmanse nan yon dosye.
Nou pral f chache nan pozisyon sa a nan dosye a, mete nou nan la
kòmanse nan ranje a nou vle li nan zòn de defans nou an.
>> Nou pral mete ranje angoudi egal a fin vye granmoun y.
Se konsa, koulye si nou bouk retounen lakay yo epi nou vle sèvi ak menm ranje sa a nan dosye soti nou an,
Lè sa a, nou pa ap ale nan li li nan ankò san nesesite.
Se konsa, reyèlman, angoudi ranje se jis yon optimize.
>> Finalman, nou ap ale nan li nan la ranje aktyèl fin vye granmoun lajè Rgb nan tripl
ke nou vle soti nan dosye orijinal la.
Se konsa, koulye ranje akt gen piksèl yo soti nan dosye a orijinal ki nou vle
ekri nan dosye a deyò.
Se konsa, kounye a, jis renmen pi wo a, olye pou yo iteration sou dosye a fin vye granmoun, nou bezwen
li nan repňte sou dosye nouvo ranje yo.
Byen isit la, olye pou yo iteration sou tout nan piksèl yo fin vye granmoun ki nan akt ranje,
nou vle repňte sou tout nan la piksèl nan nouvo dosye nou yo nan sa a
patikilye ranje.
>> Poukisa nou vle fè sa?
Paske nou wè isit la ke nou pa ap aktyèlman nesesèman lè l sèvi avèk tout la
piksèl nan dosye orijinal la.
Paske si nou ap réduction, nou ta ka aktyèlman vle sote piksèl yo.
Apre sa, nou wè ke sa a -
x divize pa faktè -
byen miwa moute isit la kote nou di y divize pa faktè figi konnen ki
fin vye granmoun y-yèm ranje a koresponn ak ranje a y-th nan nouvo dosye sa a.
>> Koulye a, nou ap ale nan ekri tout piksèl sa yo soti nan ranje a fin vye granmoun
nan nouvo ranje nou an.
Yon fwa nou te fè sa, nou bezwen jis mete padding la nan fen ranje nou
Epitou, n ap bouk retounen lakay yo epi kontinye pou tout ranje yo nan nouvo dosye nou yo.
Nan fen a, nou ap oblije fèmen pòt fin vye granmoun nou pote, fèmen nouvo dosye nou an, epi retounen
zewo paske tout bagay te ale amann.
>> Non mwen se Rob ak sa a te Vakans.
>> [MIZIK jwe]