1 00:00:00,000 --> 00:00:00,996 2 00:00:00,996 --> 00:00:12,470 >> [Musika jotzen] 3 00:00:12,470 --> 00:00:13,210 >> ROB BOWDEN: Kaixo. 4 00:00:13,210 --> 00:00:16,870 Rob naiz eta dezagun tamaina Arazo hau sortu. 5 00:00:16,870 --> 00:00:20,990 Beraz, nahi copy.c bezala hasteko joan txantiloi bat, baina ari gara izango da 6 00:00:20,990 --> 00:00:23,340 oso aldaketa gutxi batzuk eginez. 7 00:00:23,340 --> 00:00:27,570 >> Orain ikusiko dugu dugu berehala egiten ari bat aldatu non jada ez gaude egiaztapena 8 00:00:27,570 --> 00:00:31,560 gure rxc ez berdinak 3, baina orain rc egiaztatzen ari gara ez duela berdintasuna 4. 9 00:00:31,560 --> 00:00:34,670 Halaber, besteak beste, nahi dugu geroztik fitxategia eta ateratzen fitxategiekin batera 10 00:00:34,670 --> 00:00:39,550 argumentuak, m hau da, hau izango da faktore horren bidez eskalatzeko ari gara. 11 00:00:39,550 --> 00:00:45,430 >> Beraz, behin horren ziur gaude, nahi dugu erabili s eskaneatu f katea bihurtzea 12 00:00:45,430 --> 00:00:49,030 mugikor bat argv1. 13 00:00:49,030 --> 00:00:51,330 Eta ari gara gordetzeko joan faktore horrek. 14 00:00:51,330 --> 00:00:55,180 Pertsonaia osagarriak hau ziur dago ez gara benetan sartzen dituen 15 00:00:55,180 --> 00:00:59,200 1.4 ABC antzeko zerbait komando-lerroan. 16 00:00:59,200 --> 00:01:02,960 >> Orain ari gara ezizen batzuk sortzen joan RV2 eta RV3 ez dira geroztik 17 00:01:02,960 --> 00:01:04,310 Oso lagungarria izenak. 18 00:01:04,310 --> 00:01:07,660 Ari gara, horren ordez, deitu joan fitxategia eta fitxategia atera itzazu. 19 00:01:07,660 --> 00:01:11,580 Orain ari gara ziur joan gure faktorea benetan baliogarria izan zen. 20 00:01:11,580 --> 00:01:16,330 Beraz, faktore hori baino gutxiago edo berdina bada zero edo 100 baino, orduan per handiagoa 21 00:01:16,330 --> 00:01:19,660 zehaztapenak, baztertzeko behar dugu faktorea dela. 22 00:01:19,660 --> 00:01:23,890 >> Noiz ziur gaude oso ona da, gaur egun ezin dugu ireki n fitxategia eta egin dugu 23 00:01:23,890 --> 00:01:25,950 Ziur ondo ireki da hori. 24 00:01:25,950 --> 00:01:28,630 Egin ez badu, hori null itzuliko da. 25 00:01:28,630 --> 00:01:30,390 Daudelarik ireki fitxategia goaz. 26 00:01:30,390 --> 00:01:33,420 Eta berriro ere, egiteko begiratu nahi dugu ziur da da ondo ireki. 27 00:01:33,420 --> 00:01:37,270 Eta ez da behar bezala irekitzen bada, orduan Ziur ere itxi behar dugu 28 00:01:37,270 --> 00:01:40,870 n fitxategia zein jatorriz arrakastaz ireki, edo, bestela, daukagun bat 29 00:01:40,870 --> 00:01:42,600 memoria leak. 30 00:01:42,600 --> 00:01:46,350 >> Beraz, gaur egun ari gara bitmap irakurri joan fitxategiaren goiburua eta bitmap info 31 00:01:46,350 --> 00:01:48,890 n fitxategitik goiburua. 32 00:01:48,890 --> 00:01:52,360 Ziur hori egin goaz du n fitxategia baliozko bitmap bat izan zen. 33 00:01:52,360 --> 00:01:52,640 Ados. 34 00:01:52,640 --> 00:01:55,100 >> Beraz, gaur egun ari gara hasteko aldaketa batzuk eginez. 35 00:01:55,100 --> 00:01:58,840 Aldatzen goaz beraz delako gauza, lehen gogoratu nahi dugu 36 00:01:58,840 --> 00:02:01,510 n fitxategia zabalera zaharra. 37 00:02:01,510 --> 00:02:05,160 Of betegarria zaharra gogoratu nahi dugu n irudiak honako kalkulu bera erabiliz 38 00:02:05,160 --> 00:02:06,990 copy.c. etik 39 00:02:06,990 --> 00:02:09,840 >> Eta orain ari gara aldatu egingo the bitmap info goiburua. 40 00:02:09,840 --> 00:02:13,630 Eta beraz, bai zabalera biderkatuz ari gara eta faktore by altuera geroztik 41 00:02:13,630 --> 00:02:15,750 hori zer ari egindako eskalatzeko dugu. 42 00:02:15,750 --> 00:02:18,420 Zehazteko goaz du ek fitxategiaren betegarria berria 43 00:02:18,420 --> 00:02:21,140 zabalera berriak erabiliz. 44 00:02:21,140 --> 00:02:27,330 Eta ari gara berria zehazteko joan irudian zenbakia erabiliz tamaina 45 00:02:27,330 --> 00:02:31,610 ilara bakar batean, hau da, joan in bytes ilara horretan pixel-kopurua izango 46 00:02:31,610 --> 00:02:35,960 pixel baten tamaina aldiz gehi betegarria byte kopurua amaieran 47 00:02:35,960 --> 00:02:40,310 ilara hori, eta hori guztia biderkatu dugula errenkada kopuruaren arabera. 48 00:02:40,310 --> 00:02:43,800 Beraz byte kopurua da Gure irudiaren datuen dugu. 49 00:02:43,800 --> 00:02:48,190 >> Bf.Bfsize orain dagoen zenbakia izango da du gure irudia beta bytes plus 50 00:02:48,190 --> 00:02:49,350 gure goiburuak tamaina. 51 00:02:49,350 --> 00:02:53,910 Bitmap fitxategia goiburu tamaina beraz plus eta bitmap info goiburua tamaina. 52 00:02:53,910 --> 00:02:54,510 Ados. 53 00:02:54,510 --> 00:02:56,440 Beraz, hori da gure goiburuan. 54 00:02:56,440 --> 00:02:59,030 Fitxategia buruan idatzi ahal izango dugu eta Datu gure daudelarik goiburua 55 00:02:59,030 --> 00:03:01,590 fitxategia, eta ona gara. 56 00:03:01,590 --> 00:03:03,800 >> Orain benetan hasteko ordua da pixel idatziz 57 00:03:03,800 --> 00:03:05,120 daudelarik fitxategia datuak. 58 00:03:05,120 --> 00:03:10,460 Tamaina buffer bat aldarrikatu goaz zabalera RGB zaharra hirukoiztu egin da, eta ez gara 59 00:03:10,460 --> 00:03:13,790 izeneko aldagai bat deklaratzeko joan ilara numb, hau da, goaz 60 00:03:13,790 --> 00:03:15,640 Hasieran ezarri 1 negatiboa berdina. 61 00:03:15,640 --> 00:03:19,090 Ikusiko dugu ari garela erabiltzen ari duten ordena pista mantentzeko zer de 62 00:03:19,090 --> 00:03:22,640 ilara orain igota dugu buffer honetan sartu. 63 00:03:22,640 --> 00:03:23,290 Ados. 64 00:03:23,290 --> 00:03:28,750 >> Beraz, gaur egun estandarra edizioan ez bezala, ordez at baino gehiago errepikatzean of 65 00:03:28,750 --> 00:03:32,900 fitxategia, ari gara, bata baino gehiago batetik bestera joan kanpo fitxategiko errenkada eta irudikatu 66 00:03:32,900 --> 00:03:38,130 horrek errenkadan fitxategian nahi dugu Lerro honetan jarri dituzten fitxategian. 67 00:03:38,130 --> 00:03:44,930 Beraz baino gehiago errepikatzean ilaratan guztia batean fitxategia altuera berriak erabiliz, lehen gara 68 00:03:44,930 --> 00:03:48,890 errenkadan zehazteko zaharrean joan fitxategia erabili dugu, eta hori gara 69 00:03:48,890 --> 00:03:53,560 egungo honetan hartuz egingo ilara faktore banatuta. 70 00:03:53,560 --> 00:03:58,000 Beraz, hori digute errenkadan joan zaharra fitxategi nahi dugu horretan. 71 00:03:58,000 --> 00:04:03,310 >> Beraz, gaur egun bada ilara numb ez berdinetan y zaharra du, errenkadan irakurri behar dugu 72 00:04:03,310 --> 00:04:05,940 Gure orain ilara buffer sartu nahi dugula. 73 00:04:05,940 --> 00:04:07,700 Beraz, nola ari gara hori egin dugu? 74 00:04:07,700 --> 00:04:11,650 Lehen, irudikatu goaz du posizio errenkada horretan hasten diren 75 00:04:11,650 --> 00:04:13,100 jatorrizko fitxategia. 76 00:04:13,100 --> 00:04:18,630 Beraz, posizio hori izango da gure goiburuak guztiak eta iraganean 77 00:04:18,630 --> 00:04:21,589 orain iraganeko y ilaratan zaharra. 78 00:04:21,589 --> 00:04:23,880 >> Eta, beraz, zenbat byte ilara bakar batean daude? 79 00:04:23,880 --> 00:04:28,740 Berriz ere, RGB tamaina aldiz hirukoitza zaharra zabalera gehi betegarria zaharra, beraz, hori da 80 00:04:28,740 --> 00:04:30,640 ilara bakar batean byte kopurua. 81 00:04:30,640 --> 00:04:33,680 Eta iraganeko y ilaratan zaharra albo batera utzi nahi dugu. 82 00:04:33,680 --> 00:04:37,580 Beraz, f eta bilatzen joan gara bilatzen multzo hemen abiatuko erabiliz 83 00:04:37,580 --> 00:04:39,100 fitxategi baten hasieran. 84 00:04:39,100 --> 00:04:42,740 Ari gara f joan jarrera hori bilatzen fitxategian, jarri gurekin at 85 00:04:42,740 --> 00:04:46,500 errenkadan nahi dugu hasieran gure buffer sartu irakurri. 86 00:04:46,500 --> 00:04:48,510 >> Ilara ezarri goaz numb y zaharraren berdina. 87 00:04:48,510 --> 00:04:53,080 Beraz, gaur egun badugu begizta atzera eta nahi dugu Lerro honetan bera erabili gure kanpo-fitxategi batean, 88 00:04:53,080 --> 00:04:55,970 orduan ez gabiltza irakurtzen joan urtean berriro alferrik. 89 00:04:55,970 --> 00:04:59,310 Beraz, benetan, ilara numb da optimizatu bat besterik. 90 00:04:59,310 --> 00:05:05,500 >> Azkenik, hemen sartu irakurri goaz egungo errenkadan zabalera RGB zaharra hirukoiztu 91 00:05:05,500 --> 00:05:08,040 jatorrizko fitxategia nahi dugula. 92 00:05:08,040 --> 00:05:12,270 Beraz, gaur egun orain ilara pixel dauka etik duten nahi dugu jatorrizko fitxategia 93 00:05:12,270 --> 00:05:14,200 dituzten fitxategi barruan idatzi. 94 00:05:14,200 --> 00:05:18,960 Beraz, gaur egun, besterik ez gustatzen batez ere ordez fitxategi zaharra baino gehiago errepikatzean, behar dugu 95 00:05:18,960 --> 00:05:22,560 fitxategiak ilaratan berrian zehar batetik bestera joateko orduan. 96 00:05:22,560 --> 00:05:27,450 Beno hemen, ordez baino gehiago errepikatzean guztia zahar pixel du horrek orain errenkadan, 97 00:05:27,450 --> 00:05:31,210 baino gehiago batetik bestera joateko guztia nahi dugu gure honetako fitxategi berri batean pixel 98 00:05:31,210 --> 00:05:32,480 ilara bereziki. 99 00:05:32,480 --> 00:05:34,140 >> Zergatik ez da egin nahi dugu? 100 00:05:34,140 --> 00:05:38,960 Hemen ikusten dugu Oraindik ez dugulako benetan zertan guztia erabiliz 101 00:05:38,960 --> 00:05:41,020 jatorrizko fitxategian pixel. 102 00:05:41,020 --> 00:05:46,630 Dugu shrinking bazabiltza, dugu agian delako benetan pixel salto egin nahi. 103 00:05:46,630 --> 00:05:48,090 Eta ikusten dugun hori - 104 00:05:48,090 --> 00:05:49,690 x faktore banatuta - 105 00:05:49,690 --> 00:05:55,620 estuki islatzen hemen non eta esaten dugu irudikatu faktore banatuta duten 106 00:05:55,620 --> 00:06:02,480 y-garren errenkadan zaharrari dagokio y-garren fitxategi berri honetan errenkadan. 107 00:06:02,480 --> 00:06:05,880 >> Orain ari gara guztia idazten joan zaharren ilara batetik pixel horiek 108 00:06:05,880 --> 00:06:07,440 gure ilara berria sartu. 109 00:06:07,440 --> 00:06:10,890 Egin dugu behin, behar dugu, besterik betegarria jarri gure ilara amaieran 110 00:06:10,890 --> 00:06:15,540 eta begizta zaitugu atzera eta jarraituko gure fitxategi berrian errenkadetan osoan. 111 00:06:15,540 --> 00:06:19,390 Amaieran, gure zaharra itxi behar dugu fitxategia, gure fitxategi berria, eta itzulera 112 00:06:19,390 --> 00:06:21,540 zero delako guztia joan zen fina. 113 00:06:21,540 --> 00:06:24,220 >> Nire izena Rob da, eta hau izan zen lekua. 114 00:06:24,220 --> 00:06:29,184 >> [Musika jotzen]