1 00:00:00,000 --> 00:00:12,240 >> [Musika jotzen] 2 00:00:12,240 --> 00:00:15,870 >> ROB BOWDEN: Kaixo, naiz Rob, dezagun saiatu honekin tamaina da. 3 00:00:15,870 --> 00:00:21,100 Beraz, ari gara berriro hasteko joan funtsean copy.c kopia bat, eta 4 00:00:21,100 --> 00:00:22,860 aldaketa batzuk egin. 5 00:00:22,860 --> 00:00:26,280 Kontuan berehala aldaketa bat ikusiko dugu, non beharrean ikusi egiaztapena bada 6 00:00:26,280 --> 00:00:30,440 argc ez berdinetan 3, begiratu nahi dugu argc ez berdinetan 4a geroztik bada 7 00:00:30,440 --> 00:00:34,350 orain ez ari gara infile batean hartuz eta outfile, baina guk ere parte hartzen ari 8 00:00:34,350 --> 00:00:38,980 n, horren zenbatekoa gaude da jatorrizko irudia eskalatzeko arabera. 9 00:00:38,980 --> 00:00:44,340 Behin hori ziur gaude, ezin dugu besterik bihurtzeko n zenbaki oso bat atoi erabiliz. 10 00:00:44,340 --> 00:00:48,760 >> Beraz, orain ari gara batzuk sortzen joan ezizen, deitu argv 2 infile, eta 11 00:00:48,760 --> 00:00:54,240 argv 3 outfile, zeren argv 2 eta argv 3 ez dira oso lagungarria izenak. 12 00:00:54,240 --> 00:00:58,510 Orain ziur n dago egiteko begiratu nahi dugu mugen barruan, espero dugu, beraz, 13 00:00:58,510 --> 00:01:02,910 zehaztapenak zehazten duten edo baino gutxiago bada, zero, edo 100 baino handiagoa, 14 00:01:02,910 --> 00:01:08,580 ondoren, hori aldatu tamaina faktore baliogabea da, eta horren erabiltzaileari abisatu behar dugu. 15 00:01:08,580 --> 00:01:13,090 >> Behin gaude, hori guztia haratago, ahal dugu azkenik ireki gure infile, eta behar dugu 16 00:01:13,090 --> 00:01:16,270 akats bat ikusteko ziurtatu du irekitzea ez zuten arrazoiren batengatik huts egin. 17 00:01:16,270 --> 00:01:19,860 Gainera, gure outfile ireki behar dugu, eta berriro error egiaztatzeko ziur 18 00:01:19,860 --> 00:01:21,250 ez zuen arrazoiren batengatik huts egin. 19 00:01:21,250 --> 00:01:26,270 Baina ziur izan bada inaugurazio outfile huts itxi behar ditugu 20 00:01:26,270 --> 00:01:29,040 infile, dagoeneko ireki zen. 21 00:01:29,040 --> 00:01:33,690 >> Beraz, suposatuz hori ez zuen huts egin, eta gero we're - besterik gisa copy.c-- 22 00:01:33,690 --> 00:01:36,140 goiburua irakurri joan infile hasita. 23 00:01:36,140 --> 00:01:40,130 Ziur da baliozko goaz bitmap, baina orain ari gara lana egingo 24 00:01:40,130 --> 00:01:41,620 Gauzak pixka bat ezberdinean. 25 00:01:41,620 --> 00:01:44,870 Beraz, lehenik, nahi goaz jatorrizko zabalera eta altuera gogoratu 26 00:01:44,870 --> 00:01:48,290 infile du, goaz delako be aldatzen outfile da. 27 00:01:48,290 --> 00:01:53,890 Beraz, gaur egun gogoratzen duten arrazoi arraro bi.biheight, negatiboa da, eta 28 00:01:53,890 --> 00:01:58,670 beraz, benetako altuera, positiboa, dugu absolutuaren balioa hartu nahi. 29 00:01:58,670 --> 00:02:02,580 >> Orain, betegarria da berdina izango da zen copy.c kalkulua bezala, 30 00:02:02,580 --> 00:02:06,060 zabalera zaharra erabiliz, eta orain gaude benetan aldatu egingo 31 00:02:06,060 --> 00:02:07,320 zer en gure goiburuan. 32 00:02:07,320 --> 00:02:11,200 Beraz, gure zabalera biderkatu by joan n, zabalera eskalatzea ari gara geroztik egindako 33 00:02:11,200 --> 00:02:15,100 n, biderkatu altuera by n, Oraindik dugu geroztik by n eskalatzeko, eta orain dugu 34 00:02:15,100 --> 00:02:19,250 betegarria berri baten kalkulua oinarritutako zabalera berri on. 35 00:02:19,250 --> 00:02:21,840 >> Beraz, gaur egun batzuk aldatu behar dugu beste gure goiburua eremuak. 36 00:02:21,840 --> 00:02:26,890 Bi.biSizeImage suposatzen da izan pixel byte guztien tamaina 37 00:02:26,890 --> 00:02:28,520 eta irudiaren betegarria. 38 00:02:28,520 --> 00:02:34,190 Eta beraz, gure ilara bakar baten tamaina irudia RGB tamaina hirukoitza, tamaina da 39 00:02:34,190 --> 00:02:39,430 pixel bakar bat, zenbat aldiz ilara batean pixel, gehi at betegarria 40 00:02:39,430 --> 00:02:40,910 ilara amaieran. 41 00:02:40,910 --> 00:02:45,200 Eta gero esaten ari gara biderkatu by joan gure altuera iristeko balio absolutua 42 00:02:45,200 --> 00:02:48,350 guztira byte kopurua irudiaren datuetan. 43 00:02:48,350 --> 00:02:53,050 bf.bfSize guztira zenbakia besterik ez da Gure irudiaren datuak in bytes, beraz 44 00:02:53,050 --> 00:02:56,530 bi.biSizeImage, gehi gure goiburuak tamaina. 45 00:02:56,530 --> 00:02:59,850 Beraz, bitmap fitxategi-tamainaren gehituz goiburua, eta bitmap info tamaina 46 00:02:59,850 --> 00:03:00,800 goiburua, Ados. 47 00:03:00,800 --> 00:03:03,170 Beraz, hori da behar dugun guztia gure goiburuak aldatzeko. 48 00:03:03,170 --> 00:03:07,020 Orain bitmap fitxategi-goiburua idatziko dugu gure outfile, eta gure bitmap info 49 00:03:07,020 --> 00:03:09,880 gure outfile goiburua, eta, orain, joan hasteko prest gaude 50 00:03:09,880 --> 00:03:11,990 Benetako pixel gainetik. 51 00:03:11,990 --> 00:03:15,720 >> Beraz, batetik bestera joateko nahi dugu infile en eskaneatze lerro. 52 00:03:15,720 --> 00:03:17,730 Beraz gehiagoko oldheight batetik bestera joateko nahi dugu. 53 00:03:17,730 --> 00:03:20,830 Horregatik, gogoratu behar genituen jatorrizko altuera, aldatu dugu aurretik 54 00:03:20,830 --> 00:03:23,040 eta eskalatu by n. 55 00:03:23,040 --> 00:03:27,810 Orain ari gara bakar bat irakurri joan infile ilara batean 56 00:03:27,810 --> 00:03:30,630 tamaina oldwidth bufferra. 57 00:03:30,630 --> 00:03:36,190 Beraz, hemen, freading ari gara RGB tamaina hirukoitza, pixel bat da, eta zabalera zaharra 58 00:03:36,190 --> 00:03:39,760 gure buffer sartu infile from horiek. 59 00:03:39,760 --> 00:03:43,480 Eta hori oso bat izango da joan array honetan arraunean. 60 00:03:43,480 --> 00:03:50,390 Beraz, orain, n aldiz batetik bestera joateko nahi dugu Lerro honetan inprimatu gure outfile n aldiz. 61 00:03:50,390 --> 00:03:52,510 Eta beraz, hori da begizta hau zer egiten ari da. 62 00:03:52,510 --> 00:03:57,910 Barneko begizta hori baino gehiago errepikatzean arraun berez, array, argitalpena baino gehiago 63 00:03:57,910 --> 00:04:00,710 array n garaietan pixel bakoitzeko. 64 00:04:00,710 --> 00:04:04,510 Beraz zeroth elementu inprimatutako ari da n aldiz, lehenengo elementua izatea da 65 00:04:04,510 --> 00:04:05,660 n aldiz inprimatutako. 66 00:04:05,660 --> 00:04:10,820 Eta hori sort nola goazela horizontalki outfile in eskalatzeko, eta 67 00:04:10,820 --> 00:04:13,390 begizta hau, begizta batean ari gara geroztik n aldiz, nola goaz 68 00:04:13,390 --> 00:04:15,580 bertikalean eskalan. 69 00:04:15,580 --> 00:04:19,850 >> Behera hemen, ikusiko dugu gehitu behar ditugu ilara bakoitzaren amaieran betegarria. 70 00:04:19,850 --> 00:04:25,050 Faktore hau begizta barruan dago hori atera n besterik ilara inprimatzeko 71 00:04:25,050 --> 00:04:28,400 infile bat Lerro honetan. 72 00:04:28,400 --> 00:04:32,150 Gero behera hemen, nik baino gehiago albo batera noa infile, betegarria, behin geroztik 73 00:04:32,150 --> 00:04:34,560 du lerro bat egiten ari gara infile, ez dugu axola buruz 74 00:04:34,560 --> 00:04:35,290 betegarria zer zen. 75 00:04:35,290 --> 00:04:37,110 Besterik gabe, bigarren ilaran lortu nahi dugu. 76 00:04:37,110 --> 00:04:40,870 Eta gero, begizta atzera zaitugu eta egin guztiak hau berriro bigarren lerroan da. 77 00:04:40,870 --> 00:04:44,406 >> Azkenik, behin hori guztia egiten ari gara, infile itxi ahal izango dugu, hurbil 78 00:04:44,406 --> 00:04:47,430 outfile, eta itzulera 0 delako egiten ari gara. 79 00:04:47,430 --> 00:04:50,330 >> Nire izena Rob da, eta hau izan da tamainak aldatzeko. 80 00:04:50,330 --> 00:04:54,934 >> [Musika jotzen]