1 00:00:00,000 --> 00:00:09,500 >> [MUSIC Playing] 2 00:00:09,500 --> 00:00:12,350 >> ZAMYLA CHAN: Ishte Mis Scarlett me shandanit. 3 00:00:12,350 --> 00:00:13,560 Roman policor? 4 00:00:13,560 --> 00:00:15,030 E pra, ne jemi duke shkuar për të mësuar. 5 00:00:15,030 --> 00:00:20,870 Në të lojës Clue, ju mund të jepet një imazh fizik të kuqe. 6 00:00:20,870 --> 00:00:24,120 Dhe se imazhi është shumë e kuqe dhe njolla, dhe puna juaj është për të 7 00:00:24,120 --> 00:00:25,490 zbulojë mesazhin fshehur. 8 00:00:25,490 --> 00:00:29,740 Dhe zakonisht ju jeni të pajisur me një të kuqe lupë, ose një ekran të kuqe për të 9 00:00:29,740 --> 00:00:31,410 zbulojnë këtë mesazh fshehur. 10 00:00:31,410 --> 00:00:33,340 E pra, ne do të imitoj atë. 11 00:00:33,340 --> 00:00:37,960 >> Në roman policor, ju jeni të dhënë një imazh bitmap që duket shumë njolla dhe të kuqe, 12 00:00:37,960 --> 00:00:43,430 dhe pastaj të drejtuar programin roman policor për të zbuluar një mesazh të fshehur. 13 00:00:43,430 --> 00:00:45,650 >> Pra, le të thyejnë këtë në hapa. 14 00:00:45,650 --> 00:00:50,390 Së pari, ju doni të hapur dosjen - dhënë që ju keni qenë dhënë. 15 00:00:50,390 --> 00:00:53,880 Dhe pastaj të krijojë një Verdikti bitmap fotografi. 16 00:00:53,880 --> 00:00:58,240 Pastaj ju doni të rinovuar bitmap header info për outfile aktgjykimit. 17 00:00:58,240 --> 00:00:59,920 Më shumë për këtë më vonë. 18 00:00:59,920 --> 00:01:04,319 Dhe atëherë ju do të jeni për të lexuar në clue, scanline, pixel nga pixel, 19 00:01:04,319 --> 00:01:07,320 duke ndryshuar ngjyrat pixel si nevojshme, dhe shkrim 20 00:01:07,320 --> 00:01:08,960 ata në aktgjykimit - 21 00:01:08,960 --> 00:01:12,000 pixel nga pixel në scanline aktgjykimi. 22 00:01:12,000 --> 00:01:13,780 >> Si mund të fillojnë të shkuar në lidhje me këtë? 23 00:01:13,780 --> 00:01:16,940 E pra, për fat të mirë, ne kemi copy.c në kodin e shpërndarjes. 24 00:01:16,940 --> 00:01:21,240 Dhe kjo do të provojë mjaft e dobishme për ne. 25 00:01:21,240 --> 00:01:29,700 Copy.c hap një dosje, thuhet në se header infile-së, dhe pastaj përditëson 26 00:01:29,700 --> 00:01:31,070 header outfile-së. 27 00:01:31,070 --> 00:01:37,010 Dhe pastaj ai lexon çdo piksel në scanline, pixel nga pixel, dhe më pas 28 00:01:37,010 --> 00:01:42,390 shkruan se piksel në outfile. 29 00:01:42,390 --> 00:01:45,020 >> Pra, hapi juaj i parë mund të jetë për të drejtuar në vijim 30 00:01:45,020 --> 00:01:46,420 komandës në terminal - 31 00:01:46,420 --> 00:01:50,270 cp copy.c whodunit.c. 32 00:01:50,270 --> 00:01:55,320 Kjo do të krijojë një kopje të copy.c quajtur whodunit.c. 33 00:01:55,320 --> 00:01:58,320 Pra, hapi ynë i parë për të hapur fotografi, mirë, ka një saktë 34 00:01:58,320 --> 00:02:00,070 kopje e se në copy.c. 35 00:02:00,070 --> 00:02:03,360 Kështu që unë do të largohet nga ju për të parë në se. 36 00:02:03,360 --> 00:02:07,860 >> Ajo që ne jemi që kanë të bëjnë me të në këtë PSET është file I / O, në thelb duke marrë fotografi, 37 00:02:07,860 --> 00:02:10,229 lexim, shkrim, redaktimi ata. 38 00:02:10,229 --> 00:02:12,650 Si e keni hapur një skedar? 39 00:02:12,650 --> 00:02:16,800 E pra, ju jeni do të shpallë një skedar akrep, dhe pastaj ju e quani 40 00:02:16,800 --> 00:02:18,670 fopen Funksioni. 41 00:02:18,670 --> 00:02:23,150 Pass në rrugën, ose emrin e që paraqesë, dhe pastaj mënyra që ju dëshironi 42 00:02:23,150 --> 00:02:24,700 për të hapur këtë dosje in 43 00:02:24,700 --> 00:02:28,620 Kalimi në një r do të hapet foo.bmp për lexim. 44 00:02:28,620 --> 00:02:35,670 Ndërsa fopen me kalimin në një w do bar.bmp hapur, për të shkruar dosjen dhe 45 00:02:35,670 --> 00:02:37,020 në fakt redaktonit. 46 00:02:37,020 --> 00:02:41,970 >> Pra, tani që ne kemi hapur dosjen, tona Hapi tjetër është për të rinovuar info header 47 00:02:41,970 --> 00:02:43,230 për outfile. 48 00:02:43,230 --> 00:02:44,610 Çfarë është një info header? 49 00:02:44,610 --> 00:02:48,160 E pra, së pari ne duhet të dimë çfarë është një bitmap është. 50 00:02:48,160 --> 00:02:51,000 Një bitmap është vetëm një e thjeshtë marrëveshje e bytes. 51 00:02:51,000 --> 00:02:55,480 Dhe ata janë deklaruar në këtë fotografi këtu, bmp.h, me një bandë e 52 00:02:55,480 --> 00:02:58,610 Informata për atë që një bitmap është bërë në të vërtetë jashtë. 53 00:02:58,610 --> 00:03:05,730 Por ajo që ne me të vërtetë intereson është fotografi bitmap header, të drejtë këtu, dhe 54 00:03:05,730 --> 00:03:08,460 header bitmap info, mbi këtu. 55 00:03:08,460 --> 00:03:13,170 Header është i përbërë nga disa Variablat që do të provojë shumë i dobishëm. 56 00:03:13,170 --> 00:03:18,400 Ka biSizeImage, e cila është Madhësia e përgjithshme të imazhit në bytes. 57 00:03:18,400 --> 00:03:20,890 Dhe kjo përfshin pixels dhe mbushje. 58 00:03:20,890 --> 00:03:24,210 Mbushje është shumë e rëndësishme, por ne do të merrni për këtë më vonë. 59 00:03:24,210 --> 00:03:30,000 >> BiWidth përfaqëson gjerësia e image në minus pixels mbushje. 60 00:03:30,000 --> 00:03:34,220 BiHeight është atëherë edhe lartësia e imazhit në pixel. 61 00:03:34,220 --> 00:03:38,240 Dhe pastaj BITMAPFILEHEADER dhe BITMAPINFOHEADER, siç e përmenda 62 00:03:38,240 --> 00:03:40,900 më parë, ata që janë të përfaqësuara si structs. 63 00:03:40,900 --> 00:03:45,410 Pra, ju nuk mund të hyni në fotografi header vetë, por ju do të dëshironi të merrni për të 64 00:03:45,410 --> 00:03:47,370 ato variabla brenda. 65 00:03:47,370 --> 00:03:48,170 >> OK. 66 00:03:48,170 --> 00:03:50,600 Deri sa nuk kemi update info header? 67 00:03:50,600 --> 00:03:54,020 E pra, së pari ne duhet të shohim nëse ne nevojë për të ndryshuar ndonjë informacion nga 68 00:03:54,020 --> 00:03:58,480 infile, çelës, për të outfile, aktgjykimi. 69 00:03:58,480 --> 00:04:00,250 A është çdo gjë ndryshon në këtë rast? 70 00:04:00,250 --> 00:04:04,320 E pra, jo të vërtetë, sepse ne jemi duke shkuar që duhet vetëm të ndryshuar ngjyrat. 71 00:04:04,320 --> 00:04:07,550 Ne nuk do të jetë ndryshuar skedarin madhësia, madhësia imazhit, gjerësia, 72 00:04:07,550 --> 00:04:08,310 ose lartësia. 73 00:04:08,310 --> 00:04:14,010 Pra, ju jeni të gjithë të drejtë tani për tani nga vetëm kopjimi çdo piksel. 74 00:04:14,010 --> 00:04:14,840 >> OK. 75 00:04:14,840 --> 00:04:20,720 Pra, tani le të shohim se si ne në të vërtetë mund të lexoni çdo piksel nga file. 76 00:04:20,720 --> 00:04:23,640 Një tjetër fotografi I / O Funksioni do të hyjë në lojë - 77 00:04:23,640 --> 00:04:24,700 fread. 78 00:04:24,700 --> 00:04:28,440 Ajo merr në një tregues të struct që do të përmbajë bytes që 79 00:04:28,440 --> 00:04:30,110 ju jeni duke lexuar. 80 00:04:30,110 --> 00:04:31,890 Pra, ju jeni duke e lexuar në atë. 81 00:04:31,890 --> 00:04:36,090 Dhe pastaj ju të kalojë në një madhësi, e cila është madhësia e çdo element që ju 82 00:04:36,090 --> 00:04:37,360 dëshironi të lexoni. 83 00:04:37,360 --> 00:04:40,640 Këtu, funksioni sizeof do të jetë në dispozicion. 84 00:04:40,640 --> 00:04:45,570 Pastaj ju të kalojë në numër, të cilat paraqet numrin e elementeve të 85 00:04:45,570 --> 00:04:47,480 Madhësia për të lexuar. 86 00:04:47,480 --> 00:04:51,180 Dhe pastaj në fund, inptr, e cila është file pointer që ju jeni 87 00:04:51,180 --> 00:04:52,530 duke shkuar për të lexuar nga. 88 00:04:52,530 --> 00:04:58,650 Pra, të gjitha këto elemente janë brenda inptr dhe ata do të të dhënave. 89 00:04:58,650 --> 00:05:01,660 >> Le të shikojmë një shembull të vogël. 90 00:05:01,660 --> 00:05:07,590 Nëse unë dua të lexuar në të dhënat e dy qentë, mirë, unë mund të bëjë atë një nga dy mënyra. 91 00:05:07,590 --> 00:05:15,250 Unë mund të lexoj as në dy objektet e madhësisë qen nga inptr ime, ose unë mund të lexoni 92 00:05:15,250 --> 00:05:19,280 në një objekt madhësinë e dy qenve. 93 00:05:19,280 --> 00:05:23,580 Kështu që ju të shihni se në varësi të rrugës që ju të caktoni madhësinë dhe numrin, ju 94 00:05:23,580 --> 00:05:25,840 mund të lexoni në numrin e njëjtë të bytes. 95 00:05:25,840 --> 00:05:28,720 96 00:05:28,720 --> 00:05:33,020 >> Deri tani, le të ndryshojë Ngjyra pixel si ne kemi nevojë. 97 00:05:33,020 --> 00:05:37,320 Nëse ju shikoni në bmp.h përsëri, atëherë ju do të shihni se në pjesën e poshtme 98 00:05:37,320 --> 00:05:42,920 RGBTRIPLEs janë një struct, ku ata janë të përbërë nga tre bytes. 99 00:05:42,920 --> 00:05:49,220 Një, rgbtBlue, rgbtGreen, dhe rgbtRed. 100 00:05:49,220 --> 00:05:52,480 Pra, secili prej tyre paraqet shumën e blu, shuma e gjelbër, dhe 101 00:05:52,480 --> 00:05:57,250 Shuma e kuqe brenda këtij pixel, ku çdo sasi është e përfaqësuar nga një 102 00:05:57,250 --> 00:05:58,670 numër heksadecimal. 103 00:05:58,670 --> 00:06:04,370 >> Pra ff0000 do të jetë një ngjyrë blu, për shkak se ajo shkon nga blu, 104 00:06:04,370 --> 00:06:05,850 për të gjelbër, të kuqe. 105 00:06:05,850 --> 00:06:09,300 Dhe pastaj të gjithë f-të do të jetë e bardhë. 106 00:06:09,300 --> 00:06:13,440 Le të bëjmë një vështrim në smiley.bmp, e cila ju keni në kodin tuaj të shpërndarjes. 107 00:06:13,440 --> 00:06:15,690 Nëse ju të hapur atë në vetëm një imazh viewer, atëherë ju do të 108 00:06:15,690 --> 00:06:17,080 vetëm të shihni një smiley kuqe. 109 00:06:17,080 --> 00:06:20,380 Por, duke marrë një pikiatë të thellë në, ne do të shohim se struktura 110 00:06:20,380 --> 00:06:22,340 e kjo është vetëm pixels. 111 00:06:22,340 --> 00:06:25,880 Ne kemi pixels të bardhë, dhe pastaj pixels kuqe. 112 00:06:25,880 --> 00:06:31,000 Bardhë, ffffff, dhe pastaj të gjithë pixels kuqe kam me ngjyrë në për ju 113 00:06:31,000 --> 00:06:35,440 këtu, dhe ju shihni se ata janë 0000ff. 114 00:06:35,440 --> 00:06:39,760 Zero blu, zero jeshile, të kuqe dhe të plotë. 115 00:06:39,760 --> 00:06:45,350 Dhe që smiley është tetë pixels i gjerë, ne nuk kemi asnjë mbushje. 116 00:06:45,350 --> 00:06:47,360 Dakord. 117 00:06:47,360 --> 00:06:53,310 >> Pra, nëse unë do të caktojë vlera të ndryshme në një RGBTRIPLE dhe kam kërkuar për të 118 00:06:53,310 --> 00:06:58,350 bërë atë të gjelbër, atëherë çfarë do të bëj është Unë do të shpallë një RGBTRIPLE, të quajtur 119 00:06:58,350 --> 00:07:02,660 trefishtë, dhe pastaj për të hyrë në çdo bajt brenda këtij struct I 120 00:07:02,660 --> 00:07:04,030 do të përdorni dot operatorin. 121 00:07:04,030 --> 00:07:08,430 Pra triple.rgbtBlue, unë mund caktojë që në 0. 122 00:07:08,430 --> 00:07:13,460 Green I mund të caktojë atë për të plotë - çdo numër, me të vërtetë, në mes 0 dhe ff. 123 00:07:13,460 --> 00:07:15,470 Dhe pastaj të kuqe, unë jam gjithashtu do të thotë 0. 124 00:07:15,470 --> 00:07:19,160 Prandaj që më jep një pixel gjelbër. 125 00:07:19,160 --> 00:07:23,030 >> Tjetra, ajo që në qoftë se unë dua të kontrolloni vlera e diçka? 126 00:07:23,030 --> 00:07:27,250 Unë mund të ketë diçka që kontrollon nëse vlera e trefishtë e rgbtBlue është 127 00:07:27,250 --> 00:07:31,080 ff dhe pastaj të shtypura, "Unë jam ndjenjë blu! ", si rezultat i kësaj. 128 00:07:31,080 --> 00:07:35,640 Tani, kjo nuk do të thotë që pixel është blu, e drejtë? 129 00:07:35,640 --> 00:07:40,060 Për shkak se vlera e gjelbër dhe të kuqe të pixel-së mund të ketë jo-0 vlerave. 130 00:07:40,060 --> 00:07:43,470 E gjithë kjo do të thotë kjo, dhe të gjitha që kjo është e kontrolluar për të është 131 00:07:43,470 --> 00:07:45,610 për një ngjyrë të plotë blu. 132 00:07:45,610 --> 00:07:50,050 Por të gjitha piksele mund të ketë të pjesshme Vlerat e ngjyra, si kjo 133 00:07:50,050 --> 00:07:52,180 shembull tjetër këtu. 134 00:07:52,180 --> 00:07:55,400 >> Kjo është pak e vështirë për të parë ajo që ky imazh është tani. 135 00:07:55,400 --> 00:08:00,320 Kjo duket pak më shumë si clue.bmp që ju do të jepet. 136 00:08:00,320 --> 00:08:03,600 Tani, fizikisht, ju mund të zgjidhur këtë, sepse nuk është një shumë e kuqe, nga 137 00:08:03,600 --> 00:08:07,040 mbajtjen e një ekran të kuqe për imazhin në mënyrë se ngjyrat e tjera mund të shfaqen. 138 00:08:07,040 --> 00:08:10,968 Deri sa nuk kemi të imitoj këtë me c? 139 00:08:10,968 --> 00:08:15,640 E pra, ne mund të hiqni të gjithë të kuqe nga imazhi krejtësisht. 140 00:08:15,640 --> 00:08:21,870 Dhe në mënyrë për të bërë këtë ne do të vendosin secili Vlera e kuqe pixel në 0. 141 00:08:21,870 --> 00:08:25,020 Dhe kështu imazhi do të dukej pak pak si kjo, ku ne nuk kemi të kuqe 142 00:08:25,020 --> 00:08:26,300 whatsoever. 143 00:08:26,300 --> 00:08:29,390 >> Ne mund të shohim mesazhin e fshehur a pak më qartë tani. 144 00:08:29,390 --> 00:08:31,730 Kjo është një tjetër fytyrë smiley. 145 00:08:31,730 --> 00:08:33,870 Apo ndoshta ne mund të përdorim një metodë tjetër. 146 00:08:33,870 --> 00:08:36,480 Ndoshta, ne mund të identifikojë gjitha piksel kuqe - 147 00:08:36,480 --> 00:08:41,100 që është, të gjithë nga piksel me 0 blu, jeshile 0, dhe 0 kuqe - 148 00:08:41,100 --> 00:08:43,169 dhe për të ndryshuar ato në të bardhë. 149 00:08:43,169 --> 00:08:45,470 Dhe imazhin tonë mund të duket diçka e tillë. 150 00:08:45,470 --> 00:08:48,250 A pak më e lehtë për të parë. 151 00:08:48,250 --> 00:08:51,170 >> Ka shumë mënyra të tjera për të zbuluar Mesazhi sekret, si dhe, 152 00:08:51,170 --> 00:08:53,730 që kanë të bëjnë me manipulimin ngjyra. 153 00:08:53,730 --> 00:08:57,050 Ndoshta ju mund të përdorni një nga metodat e që kam përmendur më lart. 154 00:08:57,050 --> 00:08:59,600 Dhe përveç kësaj, ju mund të dëshironi për të rritur disa ngjyra 155 00:08:59,600 --> 00:09:02,620 dhe për të sjellë ato jashtë. 156 00:09:02,620 --> 00:09:06,190 >> Pra, tani që ne kemi ndryshuar pixel ngjyra, e ardhshëm ne vetëm duhet të shkruani ato 157 00:09:06,190 --> 00:09:08,500 në të scanline, pixel nga pixel. 158 00:09:08,500 --> 00:09:11,860 Dhe përsëri, ju do të dëshironi të shikoni prapa të copy.c, në qoftë se ju nuk e keni kopjuar 159 00:09:11,860 --> 00:09:18,170 ajo tashmë, dhe të kërkoni në fwrite funksion, i cili merr të dhënat, një akrep 160 00:09:18,170 --> 00:09:23,230 në struct që përmban byte që ju jeni duke lexuar nga, madhësia e 161 00:09:23,230 --> 00:09:26,610 sendet, numri i artikujve, dhe pastaj outptr - 162 00:09:26,610 --> 00:09:29,450 destinacioni i këtyre dosjeve. 163 00:09:29,450 --> 00:09:34,010 >> Pasi ta shkruani në pixels, ju do të gjithashtu duhet të shkruani në mbushje. 164 00:09:34,010 --> 00:09:34,970 Çfarë është mbushje? 165 00:09:34,970 --> 00:09:38,670 E pra, çdo pixel rgbt është tre bytes të gjatë. 166 00:09:38,670 --> 00:09:43,670 Por, scanline për një imazh bitmap duhet të jetë një shumëfish i katër bytes. 167 00:09:43,670 --> 00:09:47,650 Dhe nese numri i piksel nuk është një të shumta e katër, atëherë ne duhet të shtoni 168 00:09:47,650 --> 00:09:48,880 kjo mbushje. 169 00:09:48,880 --> 00:09:51,420 Mbushje është e përfaqësuar vetëm nga 0s. 170 00:09:51,420 --> 00:09:54,380 Pra, si nuk kemi shkruaj, apo lexoni këtë? 171 00:09:54,380 --> 00:09:59,280 E pra, ajo rezulton se ju nuk mund të mbushje të vërtetë fread, por ju mund të 172 00:09:59,280 --> 00:10:00,970 të llogaritur atë. 173 00:10:00,970 --> 00:10:04,400 >> Në këtë rast, çelës dhe vendimi kanë të njëjtën gjerësi, në mënyrë 174 00:10:04,400 --> 00:10:05,910 mbushje është njëjtë. 175 00:10:05,910 --> 00:10:09,370 Dhe mbushje, si ju do të shihni në copy.c, llogaritet 176 00:10:09,370 --> 00:10:11,790 me formulen e meposhtme - 177 00:10:11,790 --> 00:10:16,690 herë bi.biWidth sizeof (RGBTRIPLE) do të na japin sa bytes bmp 178 00:10:16,690 --> 00:10:18,280 ka në çdo rresht. 179 00:10:18,280 --> 00:10:21,890 Nga atje, modulos dhe ZBRITJET me 4 mund të llogarisim se si 180 00:10:21,890 --> 00:10:25,610 shumë bytes duhet të shtohen në mënyrë që shumta të bytes në 181 00:10:25,610 --> 00:10:27,250 çdo rresht është katër. 182 00:10:27,250 --> 00:10:30,490 >> Tani që ne kemi formulën për se sa mbushje ne kemi nevojë, tani 183 00:10:30,490 --> 00:10:31,610 ne mund të shkruajnë atë. 184 00:10:31,610 --> 00:10:34,080 Tani, e përmenda më parë, mbushje është vetëm 0s. 185 00:10:34,080 --> 00:10:39,730 Pra, në këtë rast, ne jemi vetëm duke një char, në këtë rast një 0, në tonë 186 00:10:39,730 --> 00:10:41,710 outptr - outfile tonë. 187 00:10:41,710 --> 00:10:47,530 Kështu që mund të jetë vetëm fputc 0, presje outptr. 188 00:10:47,530 --> 00:10:52,400 >> Kështu, ndërsa ne kemi qenë duke lexuar në tonë fotografi, file I / O ka mbajtur gjurmët e tona 189 00:10:52,400 --> 00:10:57,440 Pozita në ato fotografi me diçka quajtur tregues pozita fotografi. 190 00:10:57,440 --> 00:10:59,350 Mendoni se si një kursorit. 191 00:10:59,350 --> 00:11:03,550 Në thelb, ajo përparon çdo herë se ne fread, por ne kemi 192 00:11:03,550 --> 00:11:05,671 kontroll mbi të, too. 193 00:11:05,671 --> 00:11:11,030 >> Për të lëvizur treguesin e pozicionit fotografi, ju mund të përdorni fseek funksion. 194 00:11:11,030 --> 00:11:15,600 Ku inptr përfaqëson fotografi tregues që ju jeni duke kërkuar në, 195 00:11:15,600 --> 00:11:20,370 shumë është numri i bytes që ju dëshironi të lëvizur kursorin, dhe pastaj nga 196 00:11:20,370 --> 00:11:23,470 të bëjë me pikë referimi nga ku kursori juaj është. 197 00:11:23,470 --> 00:11:26,770 Nëse ju të kalojë në SEEK_CUR, që përfaqëson rrymën 198 00:11:26,770 --> 00:11:28,100 Pozita në dosjen. 199 00:11:28,100 --> 00:11:31,020 Ose ju mund të përdorni disa parametra të tjera. 200 00:11:31,020 --> 00:11:35,400 Pra, ne mund të dëshironi të përdorni fseek të kaloni mbi mbushje e në dosje. 201 00:11:35,400 --> 00:11:39,410 Dhe përsëri, në qoftë se ju jeni të mbërthyer, ka një shembull i se në copy.c. 202 00:11:39,410 --> 00:11:43,260 >> Deri tani ne kemi hapur skedarin, çelës, dhe aktgjykimi. 203 00:11:43,260 --> 00:11:46,450 Ne kemi përditësuar header info për Verdikti tonë, sepse çdo 204 00:11:46,450 --> 00:11:48,730 bitmap ka nevojë për një kokë. 205 00:11:48,730 --> 00:11:52,280 Ne kemi lexuar pastaj në çelës të scanline, pixel nga pixel, ndryshuar 206 00:11:52,280 --> 00:11:55,210 çdo ngjyrë sipas nevojës, dhe shkruar ato në 207 00:11:55,210 --> 00:11:57,340 vendimi, pixel nga pixel. 208 00:11:57,340 --> 00:12:01,550 Pasi ta keni hapur verdiktin, ju mund të shihni që fajtor, ose çfarë sekret 209 00:12:01,550 --> 00:12:02,850 Mesazhi është. 210 00:12:02,850 --> 00:12:05,550 Emri im është Zamyla, dhe kjo ishte roman policor. 211 00:12:05,550 --> 00:12:12,864