1 00:00:00,000 --> 00:00:02,700 [Powered by Google Translate] [Walkthrough - 4 Set Fadhb] 2 00:00:02,700 --> 00:00:05,000 [Zamyla Chan - Ollscoil Harvard] 3 00:00:05,000 --> 00:00:07,340 Is é [seo CS50. - CS50.TV] 4 00:00:08,210 --> 00:00:11,670 Gach ceart. Dia duit, gach duine, agus fáilte a chur Walkthrough 4. 5 00:00:11,670 --> 00:00:14,270 >> Sa lá atá inniu ár n-pset Fóiréinsic. 6 00:00:14,270 --> 00:00:18,080 Is Fóiréinsic a pset i ndáiríre spraoi a mbíonn i gceist ag déileáil le comhaid bitmap 7 00:00:18,080 --> 00:00:21,550 chun a fháil amach a rinne coir. 8 00:00:21,550 --> 00:00:24,200 Ansin táimid ag dul a athrú roinnt comhaid bitmap, 9 00:00:24,200 --> 00:00:27,780 ansin táimid ag dul freisin chun déileáil le cuid spraoi i ndáiríre ar a dtugtar ghnóthú, 10 00:00:27,780 --> 00:00:31,160 ina táimid láimh go bunúsach cárta cuimhne 11 00:00:31,160 --> 00:00:34,350 ina bhfuil duine éigin a scriosadh de thaisme go léir a gcuid comhad, 12 00:00:34,350 --> 00:00:38,860 agus táimid ag iarraidh a ghnóthú na comhaid sin. 13 00:00:38,860 --> 00:00:42,910 >> Ach ar dtús, sula bhfaigheann muid isteach ar an pset, mé i ndáiríre ach ag iarraidh gach duine a comhghairdeas. 14 00:00:42,910 --> 00:00:45,230 Táimid faoi ag an lárphointe an chúrsa seo. 15 00:00:45,230 --> 00:00:50,070 Tráth na gCeist 0 Is é taobh thiar dúinn, agus táimid ag pset4, mar sin go bunúsach, tá muid leath-shlí. 16 00:00:50,070 --> 00:00:55,490 Táimid tar éis teacht ar bhealach fada má fhéachann tú ar ais le do psets, pset0 agus pset1, 17 00:00:55,490 --> 00:00:57,300 mar sin comhghairdeas a dhéanamh tú féin faoi sin, 18 00:00:57,300 --> 00:01:00,760 agus táimid ag dul chun dul isteach ar roinnt rudaí spraoi i ndáiríre. 19 00:01:00,760 --> 00:01:07,070 >> Mar sin, ár n-bosca uirlisí seo pset, arís, in ionad a reáchtáil sudo yum-y cothrom le dáta, 20 00:01:07,070 --> 00:01:13,890 tá muid in ann a reáchtáil ach update50 má tá tú ag leagan 17.3 agus os a chionn ar an fearas. 21 00:01:13,890 --> 00:01:17,380 Mar sin, a bheith cinnte a reáchtáil update50 - tá sé níos éasca go leor, a carachtair cúpla níos lú - 22 00:01:17,380 --> 00:01:20,640 a dhéanamh cinnte go bhfuil tú ag an leagan is déanaí den fearas. 23 00:01:20,640 --> 00:01:25,410 Go háirithe tá sé tábhachtach update50 nuair a thosaíonn muid ag baint úsáide CS50 Seiceáil. 24 00:01:25,410 --> 00:01:28,700 Sin a dhéanamh cinnte go bhfuil tú go. 25 00:01:28,700 --> 00:01:30,760 >> I gcás gach ceann de na rannóga seo pset, 26 00:01:30,760 --> 00:01:34,350 táimid ag dul a bheith ag déileáil le hionchur comhad agus aschuir, comhad I / O. 27 00:01:34,350 --> 00:01:38,140 Táimid ag dul a bheith ag dul thar a lán de chláir a bhíonn ag déileáil le arrays 28 00:01:38,140 --> 00:01:40,350 atá dírithe ar chomhaid agus rudaí mar sin, 29 00:01:40,350 --> 00:01:43,050 mar sin ba mhaith linn a dhéanamh cinnte go bhfuil muid i ndáiríre ar an eolas agus compordach 30 00:01:43,050 --> 00:01:47,990 ag déileáil le conas a ionchur agus aschur isteach i gcomhaid. 31 00:01:47,990 --> 00:01:52,080 >> Sa cód dáilte don pset Is comhad a dtugtar an chomhaid, 32 00:01:52,080 --> 00:01:55,280 agus go bhfuil an méid táimid ag dul a fháil ag dul a bheith úsáideach i ndáiríre a chur chugainn 33 00:01:55,280 --> 00:02:00,340 mar gheall ar táimid ag dul chun deireadh suas a chóipeáil iarbhír an comhad an chomhaid 34 00:02:00,340 --> 00:02:05,350 agus ag athrú ach é beagán a bheith in ann a bhaint amach an chéad 2 codanna de an leagan bhfadhb. 35 00:02:05,350 --> 00:02:09,030 >> Agus mar sin ansin mar a luaigh mé cheana, tá muid ag déileáil le bitmaps, chomh maith le jpeg. 36 00:02:09,030 --> 00:02:13,170 Mar sin, tuiscint i ndáiríre an struchtúr ar conas na comhaid sin a eagrú, 37 00:02:13,170 --> 00:02:16,170 conas is féidir linn a aistriú i ndáiríre an 0s agus 1s i structs 38 00:02:16,170 --> 00:02:19,040 agus rudaí gur féidir linn a thuiscint i ndáiríre agus a léirmhíniú agus eagarthóireacht, 39 00:02:19,040 --> 00:02:21,000 a bheidh tábhachtach i ndáiríre, 40 00:02:21,000 --> 00:02:25,970 mar sin dul isteach JPEG agus comhaid bitmap agus tuiscint ar struchtúr na. 41 00:02:25,970 --> 00:02:30,780 >> Pset4, mar is gnách a thosaíonn, le cuid de na ceisteanna. 42 00:02:30,780 --> 00:02:36,600 Beidh na déileáil le comhad I / O agus a fháil accustomed tú leis sin. 43 00:02:36,600 --> 00:02:42,520 Ansin tá cuid 1 Whodunit, ina bhfuil tú ag tugtha comhad bitmap 44 00:02:42,520 --> 00:02:45,630 go Breathnaíonn cineál cosúil poncanna dearg gach cearn. 45 00:02:45,630 --> 00:02:52,180 Agus ansin go bunúsach cad táimid ag dul a dhéanamh an deis seo a comhad, agus díreach tar éis é in eagar beagán 46 00:02:52,180 --> 00:02:54,010 isteach i leagan gur féidir linn a léamh. 47 00:02:54,010 --> 00:02:56,000 Go bunúsach, nuair a linn a chríochnú, beidh orainn an comhad céanna, 48 00:02:56,000 --> 00:03:02,630 ach amháin beidh muid in ann a fheiceáil an teachtaireacht i bhfolach i bhfolach ag gach poncanna dearg. 49 00:03:02,630 --> 00:03:07,310 Ansin tá Athraigh clár a, mar gheall ar comhad 50 00:03:07,310 --> 00:03:11,490 agus a thabhairt ansin an t-ainm an chomhaid a aschur é agus ansin a thabhairt ar roinnt, chomh maith, 51 00:03:11,490 --> 00:03:16,850 Beidh Athraigh ndáiríre go bitmap ag an luach slánuimhir. 52 00:03:16,850 --> 00:03:19,240 Ansin ar deireadh, ní mór dúinn an pset ghnóthú. 53 00:03:19,240 --> 00:03:24,160 Táimid Tugtar cárta cuimhne agus ansin a ghnóthú go léir de na grianghraif 54 00:03:24,160 --> 00:03:25,920 a bhí scriosta thaisme, 55 00:03:25,920 --> 00:03:31,420 ach, ní mar beidh linn a fhoghlaim, scrios iarbhír agus a bhaintear as an comhad; 56 00:03:31,420 --> 00:03:38,470 againn de chineál amháin de caillte nuair a bhí siad sa chomhad, ach táimid ag dul a ghnóthú go. 57 00:03:38,470 --> 00:03:44,950 >> Great. Mar sin, dul i gcomhad I / O sonrach, is iad seo liosta iomlán na feidhmeanna go mbainfidh tú a bheith ag baint úsáide as. 58 00:03:44,950 --> 00:03:49,840 Tá tú le feiceáil cheana féin le beagán na bunghnéithe fopen, fread, agus fwrite, 59 00:03:49,840 --> 00:03:54,350 ach táimid ag dul chun breathnú níos faide i roinnt comhad I / O feidhmeanna, mar shampla fputc, 60 00:03:54,350 --> 00:03:56,930 ina bhfuil tú scríobh ach aon charachtar amháin ag an am, 61 00:03:56,930 --> 00:04:02,000 go fseek, áit a bhfuil tú de chineál ar bogadh an táscaire seasamh comhad chun tosaigh agus ar gcúl, 62 00:04:02,000 --> 00:04:05,770 agus ansin roinnt daoine eile. Ach beidh muid ag dul isteach go beagán níos déanaí i rith na pset. 63 00:04:08,050 --> 00:04:13,100 >> Mar sin, an chéad, ach a fháil i gcomhad I / O sula dtéann muid isteach an pset, 64 00:04:13,100 --> 00:04:19,860 a oscailt comhad, mar shampla, cad a bhfuil tú a dhéanamh leagtha i ndáiríre pointeoir leis an gcomhad sin. 65 00:04:19,860 --> 00:04:22,710 Mar sin, ní mór dúinn a pointeoir * COMHAD. 66 00:04:22,710 --> 00:04:27,140 Sa chás seo, tá mé ag iarraidh é a i pointeoir mar gheall ar sin ag dul a bheith ar mo infile. 67 00:04:27,140 --> 00:04:33,340 Agus mar sin tá mé ag dul a bhaint as an fopen fheidhm agus ansin an t-ainm an chomhaid 68 00:04:33,340 --> 00:04:36,360 agus ansin an modh ina bhfuil mé ag dul a bheith ag déileáil leis an gcomhad. 69 00:04:36,360 --> 00:04:42,080 Mar sin, níl "r" sa chás seo le haghaidh léamh, "w" do scríobh, agus ansin "a" chun ceangal. 70 00:04:42,080 --> 00:04:44,270 Mar shampla, nuair a bhíonn tú ag déileáil le infile 71 00:04:44,270 --> 00:04:47,310 agus tá gach mian leat a dhéanamh a léamh giotán agus bearta a stóráil ann, 72 00:04:47,310 --> 00:04:50,420 ansin tá tú ag dul is dócha a iarraidh úsáid a bhaint "r" mar do mhodh. 73 00:04:50,420 --> 00:04:54,520 Nuair is mian leat a scríobh i ndáiríre, de chineál ar a dhéanamh comhad nua, 74 00:04:54,520 --> 00:04:57,220 ansin cad táimid ag dul a dhéanamh táimid ag dul a oscailt an comhad nua 75 00:04:57,220 --> 00:05:02,410 agus úsáid an "w" mód do scríobh. 76 00:05:02,410 --> 00:05:07,540 >> Mar sin, ansin nuair a bhíonn tú ag léamh i ndáiríre na comhaid, is é an struchtúr mar seo a leanas. 77 00:05:07,540 --> 00:05:14,930 An Chéad tá tú ar an pointeoir leis an struct a bhfuil na bearta go bhfuil tú ag léamh. 78 00:05:14,930 --> 00:05:19,830 Mar sin, tá go bhfuil ag dul a bheith ar an suíomh deireadh na bearta go bhfuil tú ag léamh. 79 00:05:19,830 --> 00:05:23,360 Tá tú ag dul ansin a chur in iúl an méid, cosúil le conas go bunúsach go leor bytes 80 00:05:23,360 --> 00:05:30,100 Tá do chlár a léamh i do chomhad, is é an méid bunúsach ghné amháin, 81 00:05:30,100 --> 00:05:32,620 agus ansin tá tú ag dul a shonrú cé mhéad gnéithe is mian leat a léamh. 82 00:05:32,620 --> 00:05:34,980 Agus ansin ar deireadh, ní mór duit fios a bheith agat nuair a bhfuil tú ag léamh as, 83 00:05:34,980 --> 00:05:37,580 mar sin tá go dul a bheith do pointeoir i. 84 00:05:37,580 --> 00:05:41,780 I dath-códaithe seo toisc go bhfuil fread freisin an-chosúil leis fwrite, 85 00:05:41,780 --> 00:05:47,050 ach amháin gur mhaith leat a dhéanamh cinnte go n-úsáideann tú an t-ordú ceart, 86 00:05:47,050 --> 00:05:51,960 a dhéanamh cinnte go bhfuil tú ag scríobh iarbhír nó a léamh ó na comhaid ceart. 87 00:05:54,910 --> 00:05:58,610 >> Mar sin, ansin roimh mar, má táimid tar éis an méid de na ghné, chomh maith le líon na n-eilimintí, 88 00:05:58,610 --> 00:06:00,600 ansin is féidir linn a imirt thart anseo le beagán. 89 00:06:00,600 --> 00:06:06,810 Abair Tá mé struct MADRAÍ agus mar sin ansin ba mhaith liom a léamh dhá madraí ag an am. 90 00:06:06,810 --> 00:06:12,450 Cad a raibh mé in ann a dhéanamh ná a rá an méid de ghné amháin ag dul a bheith ar an méid de MADRAÍ 91 00:06:12,450 --> 00:06:14,770 agus tá mé ag dul a léamh iarbhír dhá cheann acu. 92 00:06:14,770 --> 00:06:18,290 Mhalairt air sin, tá cad a raibh mé in ann a dhéanamh a rá tá mé ag dul díreach tar éis a léamh gné amháin 93 00:06:18,290 --> 00:06:21,340 agus go bhfuil gné amháin ag dul a bheith ar an méid de dhá madraí. 94 00:06:21,340 --> 00:06:24,320 Mar sin, tá go dul conas is féidir leat cineál a bhaineann le súgradh timpeall le méid agus líon 95 00:06:24,320 --> 00:06:28,250 ag brath ar cad atá níos mó iomasach a thabhairt duit. 96 00:06:28,250 --> 00:06:30,810 >> Gach ceart. Mar sin anois a fháil againn chun comhaid a scríobh. 97 00:06:30,810 --> 00:06:36,880 Nuair is mian leat a scríobh comhad, is é an chéad argóint i ndáiríre áit a bhfuil tú ag léamh as. 98 00:06:36,880 --> 00:06:42,050 Mar sin tá go bunúsach na sonraí go bhfuil tú ag dul a scríobh isteach an comhad, 99 00:06:42,050 --> 00:06:44,490 a bhfuil an pointeoir amach ag an deireadh. 100 00:06:44,490 --> 00:06:47,670 Mar sin, nuair a bhíonn tú ag déileáil leis an pset, déan cinnte nach bhfuil tú a dhéanamh a fháil ar dhaoine eatarthu. 101 00:06:47,670 --> 00:06:50,480 B'fhéidir go bhfuil an taobh sainmhínithe le taobh. 102 00:06:50,480 --> 00:06:58,090 Is féidir leat a tharraingt na sainmhínithe suas sa lámhleabhar ag clóscríobh fear agus ansin fwrite, mar shampla, 103 00:06:58,090 --> 00:06:59,950 sa chríochfort, nó is féidir leat a tharchur ar ais chuig an sleamhnán 104 00:06:59,950 --> 00:07:03,570 agus a dhéanamh cinnte go bhfuil tú ag baint úsáide as an ceann ceart. 105 00:07:03,570 --> 00:07:08,700 Mar sin, arís, le haghaidh fwrite, nuair a tá tú comhad gur mian leat a scríobh isteach, 106 00:07:08,700 --> 00:07:14,290 go ag dul a bheith ar an argóint deiridh agus go dul a bheith ina pointeoir chuig an gcomhad. 107 00:07:14,290 --> 00:07:18,670 Mar sin, ansin go conas a phléimid le scríobh b'fhéidir bytes roinnt ag an am, 108 00:07:18,670 --> 00:07:21,820 ach a rá mian leat a scríobh go díreach i gcarachtar amháin amháin. 109 00:07:21,820 --> 00:07:25,940 Mar beidh orainn a fheiceáil níos faide anonn sa sampla seo, i bitmaps beidh orainn sin a úsáid. 110 00:07:25,940 --> 00:07:32,180 Sin é nuair is féidir linn a úsáid fputc, go bunúsach a chur díreach aon charachtar amháin ag an am, Chr, 111 00:07:32,180 --> 00:07:37,050 isteach an pointeoir comhaid, agus go bhfuil ar ár pointeoir amach ann. 112 00:07:38,700 --> 00:07:41,560 Mar sin, ansin aon uair iarracht nó scríobh i gcomhad, 113 00:07:41,560 --> 00:07:44,690 an comhad súil a choinneáil ar áit a bhfuil muid. 114 00:07:44,690 --> 00:07:47,810 Mar sin tá sé saghas cúrsóir, an táscaire seasamh comhad. 115 00:07:47,810 --> 00:07:54,330 Agus mar sin aon uair muid ag scríobh nó léamh arís i gcomhad, 116 00:07:54,330 --> 00:07:56,760 an comhad cuimhin ndáiríre áit a bhfuil sé, 117 00:07:56,760 --> 00:07:59,270 agus mar sin leanann sé ar aghaidh ó áit a bhfuil an cúrsóir. 118 00:07:59,270 --> 00:08:03,970 Is féidir é seo a bheith tairbheach nuair is mian leat, a rá, a léamh i méid áirithe rud éigin a dhéanamh 119 00:08:03,970 --> 00:08:06,160 agus a léamh ansin ar an méid seo a leanas, 120 00:08:06,160 --> 00:08:10,700 ach uaireanta d'fhéadfadh muid a iarraidh dul ar ais nó iarbhír tús a chur as luach tagartha áirithe. 121 00:08:10,700 --> 00:08:16,870 Mar sin, ansin an fheidhm fseek, ceadaíonn cad a dhéanann sé ar ár gcumas bogadh an cúrsóir i gcomhad áirithe 122 00:08:16,870 --> 00:08:19,680 tá líon áirithe beart. 123 00:08:19,680 --> 00:08:24,260 Agus ansin cad atá againn a dhéanamh a shonrú áit a bhfuil an luach tagartha. 124 00:08:24,260 --> 00:08:31,520 Mar sin, ceachtar bogann sé ar aghaidh nó ar gcúl ó áit a bhfuil an cúrsóir faoi láthair, 125 00:08:31,520 --> 00:08:35,750 nó is féidir linn a shonrú gur cheart go bogadh díreach i ó thús an chomhaid 126 00:08:35,750 --> 00:08:37,090 nó ó dheireadh thréimhse an chomhaid. 127 00:08:37,090 --> 00:08:41,230 Agus mar sin is féidir leat pas a fháil i luachanna diúltach nó dearfach maidir le méid, 128 00:08:41,230 --> 00:08:44,960 agus beidh chineál sin de a bhogadh an cúrsóir go aghaidh nó ar gcúl. 129 00:08:46,170 --> 00:08:51,920 >> Roimh a fháil againn i na psets eile, aon cheist ar chomhad I / O? 130 00:08:53,860 --> 00:08:59,990 Maith go leor. Agus muid ag dul isteach ar níos mó samplaí, dar saor chun stop a chur orm le haghaidh ceisteanna. 131 00:08:59,990 --> 00:09:06,930 >> Mar sin, i Whodunit, go bhfuil tú ar láimh comhad bitmap cosúil leis an gceann seo dearg ar an sleamhnán, 132 00:09:06,930 --> 00:09:14,510 agus tá sé cosúil le seo - a bunch de poncanna dearg - agus níl a fhios agat i ndáiríre cad atá scríofa. 133 00:09:14,510 --> 00:09:23,310 Má squint tú, féadfaidh tú a bheith in ann a fheiceáil dath beag bluish taobh istigh den lár. 134 00:09:23,310 --> 00:09:26,270 Go bunúsach, go bhfuil ina bhfuil an téacs a stóráil. 135 00:09:26,270 --> 00:09:30,270 Bhí dúnmharú a tharla, agus ní mór dúinn a fháil amach cé a rinne sé. 136 00:09:30,270 --> 00:09:36,760 Chun é sin a dhéanamh, ní mór dúinn de chineál ar thiontú an íomhá seo i bhformáid inléite. 137 00:09:36,760 --> 00:09:42,740 Má bhíonn tú guys riamh seo, uaireanta, ba mhaith a bheith ann feisteáin beag 138 00:09:42,740 --> 00:09:48,510 i gcás ina mbeadh tú a bheith gloine formhéadúcháin le scannán dearg. Duine ar bith? Yeah. 139 00:09:48,510 --> 00:09:52,770 Mar sin, go mbeadh tú a bheith rud éigin láimh mar seo, a bheadh ​​agat gloine formhéadúcháin 140 00:09:52,770 --> 00:09:58,130 leis an scannán dearg níos mó ná é, ba mhaith leat é a chur thar an íomhá, 141 00:09:58,130 --> 00:10:03,410 agus go mbeadh tú in ann a fheiceáil an teachtaireacht i bhfolach ann. 142 00:10:03,410 --> 00:10:07,080 Ní chuirimid bhfuil gloine formhéadúcháin le scannán dearg, mar sin in ionad táimid ag dul a de chineál ar ár gcuid féin a chruthú 143 00:10:07,080 --> 00:10:09,060 sa pset. 144 00:10:09,060 --> 00:10:15,760 Agus mar sin an t-úsáideoir ag dul a whodunit ionchur, agus ansin an clue,. BMP, 145 00:10:15,760 --> 00:10:18,800 Tá ionas go mbeidh an infile, go bhfuil an teachtaireacht ponc dearg, 146 00:10:18,800 --> 00:10:23,550 agus ansin tá siad ag rá verdict.bmp ag dul a bheith ar ár scríobhfar. 147 00:10:23,550 --> 00:10:27,900 Mar sin, tá sé ag dul a chruthú íomhá bitmap nua cosúil leis an leid amháin 148 00:10:27,900 --> 00:10:32,600 ach amháin i bhformáid inléite nuair is féidir linn a fheiceáil an teachtaireacht i bhfolach. 149 00:10:32,600 --> 00:10:37,550 >> Ós rud é go táimid ag dul a bheith ag déileáil le eagarthóireacht agus ionramháil bitmaps de chineál éigin, 150 00:10:37,550 --> 00:10:42,400 táimid ag dul a chineál Léim i isteach i struchtúr na comhaid bitmap. 151 00:10:42,400 --> 00:10:48,130 Chuaigh muid thar na beagán beag i léacht, ach a ligean ar breathnú isteach iad roinnt níos mó. 152 00:10:48,130 --> 00:10:51,740 Bitmaps go bunúsach ach socrú na mbeart 153 00:10:51,740 --> 00:10:55,790 nuair atá againn a shonraítear i gceist a bytes cad é. 154 00:10:55,790 --> 00:11:00,540 Mar sin, tá anseo cineál cosúil le léarscáil den íomhá bitmap 155 00:11:00,540 --> 00:11:08,550 ag rá go dtosaíonn sé le roinnt comhaid header Tosaíonn, le roinnt eolais i ann. 156 00:11:08,550 --> 00:11:16,540 Féach leat go bhfuil ag thart ar líon beart 14 an méid atá léirithe ar an íomhá bitmap, 157 00:11:16,540 --> 00:11:18,520 agus leanann sé ar aghaidh. 158 00:11:18,520 --> 00:11:23,810 Ach ansin cad táimid ag suim acu i ndáiríre i anseo ag tosú thart ar líon beart 54. 159 00:11:23,810 --> 00:11:26,060 Tá na triples RGB. 160 00:11:26,060 --> 00:11:30,760 Cad a ag dul a dhéanamh ná go bhfuil an pixel iarbhír, na luachanna dath. 161 00:11:30,760 --> 00:11:35,950 Tá gach rud thuas sa cheanntásc roinnt faisnéise 162 00:11:35,950 --> 00:11:41,240 fhreagraíonn do mhéid an íomhá, an leithead an íomhá, agus an airde. 163 00:11:41,240 --> 00:11:44,930 Nuair a théann muid isteach stuáil níos déanaí, beidh orainn a fheiceáil cén fáth an méid de na íomhá 164 00:11:44,930 --> 00:11:48,670 D'fhéadfadh a bheith difriúil ná an leithead nó airde. 165 00:11:48,670 --> 00:11:54,240 Mar sin, ansin chun ionadaíocht a dhéanamh ar na - na híomhánna bitmap Tá sraitheanna bytes - 166 00:11:54,240 --> 00:11:59,370 cad a d'fhéadfadh muid a dhéanamh ná a rá ceart go leor, tá mé ag dul a mheabhrú go bhfuil ag innéacs 14, 167 00:11:59,370 --> 00:12:03,380 go bhfuil an méid, mar shampla, ach ina ionad sin cad tá muid ag dul a dhéanamh chun seo a dhéanamh níos éasca 168 00:12:03,380 --> 00:12:06,020 Tá Cuach sé i struct. 169 00:12:06,020 --> 00:12:08,880 Agus mar sin tá dhá structs a dhéanamh dúinn, a BITMAPFILEHEADER 170 00:12:08,880 --> 00:12:10,440 agus BITMAPINFOHEADER, 171 00:12:10,440 --> 00:12:14,840 agus mar sin aon uair a léigh muid i leis an gcomhad, de réir réamhshocraithe tá sé ag dul a bheith ag dul in ord, 172 00:12:14,840 --> 00:12:22,360 agus mar sin d'fhonn tá sé ag dul freisin a líonadh isteach i athróga cosúil le biWidth agus biSize. 173 00:12:25,270 --> 00:12:31,230 Agus ansin ar deireadh, tá gach picteilín ionadaíocht ag trí bytes. 174 00:12:31,230 --> 00:12:35,500 Is é an chéad cheann an méid gorm sa picteilín, is é an dara méid an glas, 175 00:12:35,500 --> 00:12:41,120 agus ar deireadh, méid an dearg, áit a bhfuil 0 Go bunúsach, ní glas gorm nó aon nó gan aon dearg 176 00:12:41,120 --> 00:12:43,720 agus ansin tá ff an luach uasta. 177 00:12:43,720 --> 00:12:46,800 Tá na luachanna heicsidheachúlach. 178 00:12:46,800 --> 00:12:53,870 Mar sin, ansin má tá muid ff0000, ansin fhreagraíonn sé seo don méid uasta gorm 179 00:12:53,870 --> 00:12:58,890 agus ansin ní glas agus gan aon dearg, mar sin ansin a bheadh ​​a thabhairt dúinn picteilín gorm. 180 00:12:58,890 --> 00:13:04,190 Ansin, má tá muid go léir ff ar fud an bord, ansin ciallaíonn sé sin go bhfuil muid picteilín bán. 181 00:13:04,190 --> 00:13:11,370 Tá an cineál os coinne de ghnáth nuair a deirimid RGB. Tá sé seo ag dul i ndáiríre BGR. 182 00:13:12,750 --> 00:13:18,990 >> Mar sin má tá muid ag breathnú i ndáiríre i sampla de íomhá bitmap - lig dom a tharraingt ar cheann suas anseo. 183 00:13:31,560 --> 00:13:33,830 Is beag beag. 184 00:13:39,890 --> 00:13:47,840 Tá mé ag zooming in, agus is féidir linn a fheiceáil tá sé pixelated. Breathnaíonn sé cosúil le bloic dath. 185 00:13:47,840 --> 00:13:50,110 Tá tú bloic bán agus ansin bloic dearg. 186 00:13:50,110 --> 00:13:53,700 Má tá tú ag imirt i Paint Microsoft, mar shampla, d'fhéadfaí tú a dhéanamh ar rud éigin mar sin 187 00:13:53,700 --> 00:13:58,960 ag péinteáil go bunúsach ach cearnóga áirithe in ord ar leith. 188 00:13:58,960 --> 00:14:08,060 Mar sin, ansin cad é seo aistríonn sa bitmap mar seo a leanas. 189 00:14:08,060 --> 00:14:15,710 Anseo atá againn pixel bán gcéad dul síos, go bhfuil gach 6 f, agus ansin ní mór dúinn pixel dearg, 190 00:14:15,710 --> 00:14:19,910 le fios ag 0000ff. 191 00:14:19,910 --> 00:14:27,940 Agus léiríonn sé sin an t-ord na mbeart atá againn gcaoi a bhfuil an íomhá bitmap dul chun breathnú. 192 00:14:27,940 --> 00:14:32,230 Mar sin, cad mé a rinneadh anseo i scríbhinn díreach amach dóibh siúd go léir bytes agus ansin daite i dearg 193 00:14:32,230 --> 00:14:37,550 ionas gur féidir leat cineál a fheiceáil, más rud é squint tú beagán, conas a léiríonn chineál sin de ar aghaidh smiley. 194 00:14:40,180 --> 00:14:46,390 >> Is é an bealach go bhfuil bitmap íomhánna oibre agam envision sé go bunúsach mar eangach. 195 00:14:46,390 --> 00:14:54,940 Agus mar sin de réir réamhshocraithe, tá gach sraith na heangaí a bheith iolraí de 4 bytes. 196 00:15:00,520 --> 00:15:07,060 Má táimid ar íomhá bitmap, tá tú ag líonadh i ngach luach. 197 00:15:07,060 --> 00:15:17,370 Mar shampla, d'fhéadfá a bheith dearg anseo, glas anseo, gorm anseo, 198 00:15:17,370 --> 00:15:24,950 ach caithfidh tú a dhéanamh cinnte go bhfuil an íomhá a líonadh isteach le iolraí de cheithre bytes. 199 00:15:24,950 --> 00:15:32,200 Mar sin, más mian liom mo íomhá a bheith trí bloic leathan, ansin ba mhaith liom a chur ar luach folamh 200 00:15:32,200 --> 00:15:35,640 i an ceann deireanach go mbeadh sé ina iolraí de cheithre. 201 00:15:35,640 --> 00:15:39,530 Mar sin, ansin ba mhaith liom a chur i rud éigin a bhfuil muid ag iarraidh stuáil. 202 00:15:39,530 --> 00:15:43,750 Tá mé ag dul díreach a chur in iúl go bhfuil le x. 203 00:15:44,920 --> 00:15:54,160 Anois, a rá ba mhaith linn an íomhá go bhfuil 7 pixel fada, mar shampla. 204 00:15:54,160 --> 00:15:59,550 Tá 1, 2, 3, 4, 5, 6, 7, 205 00:16:04,750 --> 00:16:07,000 agus tá sé ar fad a líonadh le dath. 206 00:16:07,000 --> 00:16:10,620 Is é an bealach go n-oibríonn íomhánna bitmap gur gá dúinn an 8ú. 207 00:16:10,620 --> 00:16:12,460 Ceart anois táimid tar éis 1, 2, 3, 4, 5, 6, 7. 208 00:16:12,460 --> 00:16:19,360 Ní mór dúinn 8 spásanna don íomhá bitmap a léamh i gceart. 209 00:16:19,360 --> 00:16:25,600 Mar sin, ansin cad atá againn a dhéanamh ná a chur i beagán ach de stuála 210 00:16:25,600 --> 00:16:29,430 chun a chinntiú go bhfuil gach ceann de na leithid aonfhoirmeach 211 00:16:29,430 --> 00:16:34,260 agus go bhfuil gach ceann de na leithid iolraí de 4. 212 00:16:42,110 --> 00:16:47,310 Agus mar sin thug mé le fios roimhe seo, stuáil mar x nó líne squiggly, 213 00:16:47,310 --> 00:16:53,880 ach i na híomhánna iarbhír bitmap an stuáil le fios ag 0 heicsidheachúlach. 214 00:16:53,880 --> 00:16:57,340 Mar sin, bheadh ​​a bheith go carachtar aonarach; 0. 215 00:16:58,980 --> 00:17:06,329 Cad é a d'fhéadfadh teacht i handy an t-ordú xxd. 216 00:17:06,329 --> 00:17:11,220 Cad a dhéanann sé i ndáiríre léiríonn tú, is maith cosúil le cad a rinne mé os comhair an smiley 217 00:17:11,220 --> 00:17:15,630 nuair a chló mé i ndáiríre amach cad a bheadh ​​gach dath a bheith ar an picteilín 218 00:17:15,630 --> 00:17:21,800 agus ansin dath-códaithe é, nuair a ritheann tú xxd leis na horduithe seo a leanas, 219 00:17:21,800 --> 00:17:28,670 ansin beidh sé a phriontáil ndáiríre amach cad iad na dathanna le haghaidh na pixel. 220 00:17:28,670 --> 00:17:33,810 Cad a bhfuil tú a dhéanamh ná thar anseo in iúl dom, cosúil leis an s-54 221 00:17:33,810 --> 00:17:36,530 a deir go bhfuil mé ag dul chun tús a chur ag an beart 54 222 00:17:36,530 --> 00:17:40,820 mar gheall ar roimh sin, cuimhnigh má táimid ar ais go dtí an léarscáil de na bitmaps, 223 00:17:40,820 --> 00:17:42,690 sin uile an t-eolas header agus rudaí mar sin. 224 00:17:42,690 --> 00:17:46,280 Ach cad linn cúram i ndáiríre faoi an pixel iarbhír a léiríonn an dath. 225 00:17:46,280 --> 00:17:52,700 Mar sin, ag cur san bratach,-s 54, ansin tá muid in ann a fheiceáil na luachanna dath. 226 00:17:52,700 --> 00:17:56,020 Agus ná bíodh imní ort faoi na bratacha agus rudaí casta mar sin. 227 00:17:56,020 --> 00:18:05,020 Sa spec leagtha fhadhb, beidh sé agat ar treoracha ar conas é a úsáid xxd a chur ar taispeáint an pixel. 228 00:18:07,070 --> 00:18:15,590 Mar sin, má fheiceann tú anseo, tá sé cineál cosúil le bosca glas, an rud beag. 229 00:18:15,590 --> 00:18:23,610 Tá mé dath-códaithe an 00ff00 mar go bunúsach ag rá nach gorm, a lán de glas, agus ní dearg. 230 00:18:23,610 --> 00:18:26,370 Mar sin, fhreagraíonn sé glas. 231 00:18:26,370 --> 00:18:31,920 Mar a fheiceann tú anseo, feicimid dronuilleog glas. 232 00:18:31,920 --> 00:18:36,660 Is é seo an dronuilleog glas ach 3 picteilíni leathan, mar sin ansin cad atá againn a dhéanamh 233 00:18:36,660 --> 00:18:44,350 a dhéanamh cinnte go bhfuil an íomhá iolrú ar 4 leathan is atá a chur i stuáil breise. 234 00:18:44,350 --> 00:18:49,460 Agus mar sin ansin mar sin a fheiceann tú na 0s anseo. 235 00:18:49,460 --> 00:18:54,510 Beidh sé seo i ndáiríre mar thoradh ar do pset Resize, 236 00:18:54,510 --> 00:19:01,350 go bunúsach ag cur an bitmap beag agus ansin a leathnú dó 4. 237 00:19:01,350 --> 00:19:09,380 Agus mar sin tá an méid a fheiceann muid go bhfuil iarbhír an íomhá seo ar 12 pixel leathan, ach 12 Is iolraí de 4, 238 00:19:09,380 --> 00:19:12,940 agus mar sin táimid i ndáiríre ní a dhéanamh a fheiceáil ar bith 0s ag deireadh toisc nach mór dúinn a chur ar aon 239 00:19:12,940 --> 00:19:19,070 toisc go bhfuil sé padded go hiomlán. Ní chuireann sé seomra ar bith níos mó. 240 00:19:20,720 --> 00:19:23,470 >> Maith go leor. Ceisteanna ar bith faoi stuála? 241 00:19:25,150 --> 00:19:27,460 Maith go leor. Cool. 242 00:19:27,460 --> 00:19:32,520 >> Mar a luaigh mé cheana, tá na bitmaps ach sraith beart. 243 00:19:32,520 --> 00:19:39,170 Agus mar sin tá cad atá againn in ionad an gá súil a choinneáil ar líon go díreach cé acu de beart 244 00:19:39,170 --> 00:19:47,050 fhreagraíonn do ghné ar leith, ní mór dúinn a cruthaíodh i ndáiríre struct chun ionadaíocht a dhéanamh go. 245 00:19:47,050 --> 00:19:50,930 Mar sin, cad ní mór dúinn struct RGBTRIPLE. 246 00:19:50,930 --> 00:19:54,590 Aon uair a bhfuil tú go bhfuil drochriarachán ar triple RGB, 247 00:19:54,590 --> 00:20:00,970 toisc go bhfuil an cineál shainmhíniú struct, ansin is féidir leat rochtain a fháil ar an athróg rgbtBlue, 248 00:20:00,970 --> 00:20:09,520 céanna, na hathróga Glas agus Dearg, a leagfaidh síos cé mhéad gorm,, glas, dearg agus 249 00:20:09,520 --> 00:20:11,580 faoi ​​seach, tá tú. 250 00:20:11,580 --> 00:20:16,800 >> Mar sin, má táimid tar éis an leagan athróg gorm le 0, ar an leagan glas ff, 251 00:20:16,800 --> 00:20:22,060 a bhfuil an luach is fearr is féidir leat a bheith acu, agus ansin a leagtar ar an athróg dearg chun 0, 252 00:20:22,060 --> 00:20:27,870 ansin bheadh ​​cén dath seo go háirithe, RGB triple ionadaíocht a dhéanamh? >> [Mac léinn] Glas. 253 00:20:27,870 --> 00:20:29,150 Glas. Go díreach. 254 00:20:29,150 --> 00:20:34,480 Tá sé seo ag dul a bheith úsáideach go mbeadh a fhios go bhfuil aon uair a bhfuil tú go bhfuil drochriarachán ar triple RGB, 255 00:20:34,480 --> 00:20:41,340 Is féidir leat rochtain a fháil iarbhír an méid dath - gorm, glas, agus dearg - leithligh. 256 00:20:43,350 --> 00:20:54,900 >> Anois go atá againn Labhair faoi struchtúr sin, a ligean ar ghlacadh le breathnú ar an comhad BMP. 257 00:20:54,900 --> 00:20:57,870 Tá na structs déanta duit. 258 00:20:57,870 --> 00:21:01,820 Anseo ní mór dúinn a struct BITMAPFILEHEADER. 259 00:21:01,820 --> 00:21:07,610 Is díol spéise é an méid. 260 00:21:07,610 --> 00:21:12,660 Níos déanaí, ní mór dúinn an header info, a bhfuil roinnt rudaí níos mó go bhfuil suimiúil dúinn, 261 00:21:12,660 --> 00:21:15,480 eadhon an méid, an leithead, agus an airde. 262 00:21:15,480 --> 00:21:19,170 Mar beidh orainn dul isteach níos déanaí, nuair a léigh tú i chun an comhad, 263 00:21:19,170 --> 00:21:25,500 léann sé go huathoibríoch i mar tá leagtha amach againn an t-ordú a bheith mar an gcéanna. 264 00:21:25,500 --> 00:21:31,990 Mar sin, beidh an biSize bhfuil an beart ceart a fhreagraíonn do mhéid iarbhír an íomhá. 265 00:21:34,700 --> 00:21:40,500 Agus ansin anseo, ar deireadh, mar atá againn Labhair faoi, ní mór dúinn an struct RGBTRIPLE Rialú an. 266 00:21:40,500 --> 00:21:46,840 Tá an rgbtBlue, Green, Red agus a bhaineann leis. 267 00:21:48,210 --> 00:21:49,340 >> Great. Maith go leor. 268 00:21:49,340 --> 00:21:56,360 Anois go dtuigimid bitmaps le beagán, a thuiscint go mór dúinn a header comhad 269 00:21:56,360 --> 00:22:00,790 agus header info bhaineann leis, agus ansin ina dhiaidh sin, ní mór dúinn an rudaí suimiúla 270 00:22:00,790 --> 00:22:05,110 de na dathanna, agus na dathanna á ionadú ag structs RGBTRIPLE, 271 00:22:05,110 --> 00:22:12,710 agus iad siúd, ar a seal, tá trí luach a bhaineann leis an gorm, an glas, agus an dearg. 272 00:22:12,710 --> 00:22:17,270 >> Mar sin anois, is féidir linn de chineál ar smaoineamh ghnóthú faoi giotán. 273 00:22:17,270 --> 00:22:20,130 Tá brón orm. Smaoinigh ar Whodunit. 274 00:22:20,130 --> 00:22:25,750 Nuair a ní mór dúinn ár comhad clue, ansin cad ba mhaith linn a dhéanamh a léamh i dó picteilín ag picteilín 275 00:22:25,750 --> 00:22:33,860 agus ansin a athrú ar bhealach na pixel ionas gur féidir linn aschur é i bhformáid inléite. 276 00:22:33,860 --> 00:22:41,020 Agus mar sin a aschur é, táimid ag dul picteilín a scríobh ag picteilín isteach an comhad verdict.bmp. 277 00:22:41,020 --> 00:22:45,120 Sin de chineál ar a lán le déanamh. Tuigeann muid go. 278 00:22:45,120 --> 00:22:49,860 Mar sin, cad atá déanta againn againn ar fáil i ndáiríre duit le copy.c. 279 00:22:49,860 --> 00:22:57,610 Cad a dhéanann an chomhaid ach a dhéanann cóip bheacht de chomhad bitmap áirithe agus ansin aschur é. 280 00:22:57,610 --> 00:23:01,900 Mar sin, osclaíonn seo cheana féin an comhad ar do shon, léann i picteilín ag picteilín, 281 00:23:01,900 --> 00:23:04,510 agus scríobhann sé ansin é i isteach i aschomhad. 282 00:23:04,510 --> 00:23:07,080 >> A ligean ar ghlacadh le breathnú ar sin. 283 00:23:13,390 --> 00:23:18,290 Tá sé seo a chinntiú úsáid i gceart, 284 00:23:18,290 --> 00:23:22,640 ag dul ar an filenames anseo. 285 00:23:22,640 --> 00:23:29,940 Cad é seo a dhéanann é leagann sé an comhad ionchur a bheith cad atá againn a ritheadh ​​sa sa infile anseo, 286 00:23:29,940 --> 00:23:34,750 a bhfuil ár n-an dara-orduithe líne argóint. 287 00:23:34,750 --> 00:23:37,640 Seiceálacha a dhéanamh cinnte gur féidir linn an comhad a oscailt. 288 00:23:38,960 --> 00:23:44,860 Seiceálacha chun a chinntiú gur féidir linn a dhéanamh ina scríobhfar an nua anseo. 289 00:23:45,630 --> 00:23:53,270 Ansin, cad a dhéanann an anseo, a thosaíonn sé ach go bunúsach léamh i chun an comhad bitmap ón tús. 290 00:23:53,270 --> 00:23:56,700 An tús, tá mar is eol dúinn, an BITMAPFILEHEADER, 291 00:23:56,700 --> 00:24:03,200 agus mar sin beidh na sraitheanna giotán líonadh go díreach leis an BITMAPFILEHEADER. 292 00:24:03,200 --> 00:24:07,940 Mar sin, cad atá againn anseo ag rá go BF BITMAPFILEHEADER - 293 00:24:07,940 --> 00:24:13,150 Tá go bhfuil ár athróg nua BITMAPFILEHEADER cineál - 294 00:24:13,150 --> 00:24:22,560 táimid ag dul a chur taobh istigh BF léaghthar as i pointeoir, a bhfuil ár n-infile. 295 00:24:22,560 --> 00:24:23,970 Cé mhéad is féidir linn a léamh? 296 00:24:23,970 --> 00:24:32,160 Léimid i cé mhéad bytes is gá dúinn a bhfuil an BITMAPFILEHEADER ar fad. 297 00:24:32,160 --> 00:24:34,660 Mar an gcéanna, go bhfuil an méid a dhéanaimid le haghaidh an header info. 298 00:24:34,660 --> 00:24:39,010 Mar sin, táimid ag leanúint ar aghaidh ar feadh ár n-comhad sa infile, 299 00:24:39,010 --> 00:24:44,360 agus táimid ag léamh na giotán agus bearta, agus táimid ag plugging leo go díreach i 300 00:24:44,360 --> 00:24:47,880 isteach sna cásanna de na hathróga sin tá muid ag déanamh. 301 00:24:49,370 --> 00:24:53,800 Anseo tá muid ag déanamh ach a bheith cinnte go bhfuil an bitmap a bitmap. 302 00:24:57,670 --> 00:25:01,030 >> Anois, ní mór dúinn ina scríobhfar, ceart? 303 00:25:01,030 --> 00:25:04,420 Mar sin, mar atá sé nuair a chruthú dúinn é, tá sé go bunúsach folamh. 304 00:25:04,420 --> 00:25:07,710 Mar sin, ní mór dúinn a chruthú go bunúsach bitmap nua ó scratch. 305 00:25:07,710 --> 00:25:12,280 Céard a dhéanaimid é ní mór dúinn a dhéanamh cinnte go bhfuil cóip muid i gceanntásc an chomhaid 306 00:25:12,280 --> 00:25:16,850 agus tá an header info díreach cosúil leis an infile. 307 00:25:16,850 --> 00:25:22,850 Céard a dhéanaimid é muid ag scríobh - agus cuimhnigh go bhfuil BF an athróg 308 00:25:22,850 --> 00:25:29,300 de BITMAPFILEHEADER cineál, mar sin cad a dhéanann muid go bhfuil muid ag úsáid ach go bhfuil ábhar 309 00:25:29,300 --> 00:25:34,980 a scríobh isteach sa scríobhfar. 310 00:25:36,550 --> 00:25:38,510 Anseo, cuimhnigh phléamar stuáil, 311 00:25:38,510 --> 00:25:47,820 conas tá sé tábhachtach a chinntiú go bhfuil an méid pixel go bhfuil muid iolraí de 4. 312 00:25:47,820 --> 00:25:52,790 Is é seo an fhoirmle go leor úsáideach a ríomh cé mhéad stuála agat 313 00:25:52,790 --> 00:25:57,670 mar gheall ar an leithead do chomhad. 314 00:25:57,670 --> 00:26:04,120 Ba mhaith liom tú guys a mheabhrú go bhfuil i ní féidir dí ní mór dúinn a fhoirmle chun stuáil. 315 00:26:04,120 --> 00:26:07,970 Maith go leor? Mar sin, gach duine cuimhneamh go. Great. 316 00:26:07,970 --> 00:26:14,050 Mar sin, ansin cad a dhéanann ní féidir dí in aice béim arís ar sé níos mó ná gach ceann de na scanlines. 317 00:26:14,050 --> 00:26:23,730 Téann sé tríd na sraitheanna chéad agus ansin siopaí gach triple go léann sé 318 00:26:23,730 --> 00:26:26,920 agus scríobhann sé ansin sé isteach ar an scríobhfar. 319 00:26:26,920 --> 00:26:33,120 Mar sin, ansin anseo tá muid ag léamh ach amháin RGB triple ag an am 320 00:26:33,120 --> 00:26:39,860 agus a chur ansin go triple céanna isteach sa scríobhfar. 321 00:26:41,120 --> 00:26:48,340 Tá an chuid is tricky go bhfuil an stuáil le triple RGB, 322 00:26:48,340 --> 00:26:55,200 agus mar sin ní féidir linn a léamh ach an méid sin stuála de triples RGB. 323 00:26:55,200 --> 00:27:01,460 Cad ní mór dúinn a dhéanamh ná a iarbhír bogadh ach ár táscaire seasamh comhad, ár bog an cúrsóir, 324 00:27:01,460 --> 00:27:06,840 le de chineál ar scipeáil thar stuáil gach ionas go bhfuil muid ag an líne eile. 325 00:27:06,840 --> 00:27:12,990 Agus ansin cad a dhéanann an chóip seo léiríonn tú conas b'fhéidir gur mhaith leat a chur leis an stuáil. 326 00:27:12,990 --> 00:27:14,990 Mar sin, tá muid a ríomh cé mhéad stuáil is gá dúinn, 327 00:27:14,990 --> 00:27:18,220 ionas Ciallaíonn sé sin gur gá dúinn líon stuála de 0s. 328 00:27:18,220 --> 00:27:24,510 Cad é seo a dhéanann é do lúb a chuireann líon stuála de 0s isteach inár scríobhfar. 329 00:27:24,510 --> 00:27:31,170 Agus ansin ar deireadh, a dhúnann tú an dá comhaid. A dhúnann tú an infile chomh maith leis an scríobhfar. 330 00:27:31,170 --> 00:27:34,870 >> Mar sin, go conas ní féidir dí-oibreacha, 331 00:27:34,870 --> 00:27:37,430 agus tá go dul a bheith deas úsáideach. 332 00:27:39,720 --> 00:27:43,750 In ionad ach i ndáiríre a chóipeáil go díreach agus a ghreamú sé 333 00:27:43,750 --> 00:27:46,800 nó ag lorg díreach ar sé agus a chlóscríobh bith is mian leat, 334 00:27:46,800 --> 00:27:49,440 b'fhéidir gur mhaith leat ach a fhorghníomhú an ordaithe sa chríochfort, 335 00:27:49,440 --> 00:27:54,520 cp ní féidir dí whodunit.c, a chruthú comhad nua, whodunit.c, 336 00:27:54,520 --> 00:27:58,330 go bhfuil an t-ábhar ceannann céanna mar a dhéanann cóip. 337 00:27:58,330 --> 00:28:03,880 Mar sin, ansin cad is féidir linn a dhéanamh ná a úsáid mar chreat ar a dtógfar agus eagarthóireacht 338 00:28:03,880 --> 00:28:06,900 le haghaidh ár comhad whodunit. 339 00:28:08,500 --> 00:28:14,670 >> Is iad ár n-le-Tascanna a dhéanamh le haghaidh Whodunit, ach cad ní féidir dí 340 00:28:14,670 --> 00:28:16,730 Tá iarbhír Bíonn cúram de chuid is mó acu dúinn. 341 00:28:16,730 --> 00:28:21,900 Dá bhrí sin tá gach ní mór dúinn a dhéanamh amach romhainn athrú ar an pixel mar is gá 342 00:28:21,900 --> 00:28:25,920 a dhéanamh i ndáiríre an comhad inléite. 343 00:28:25,920 --> 00:28:32,960 Cuimhnigh go bhfuil do picteilín thabhairt triple, agus mar sin ar feadh athróg áirithe RGBTRIPLE cineál, 344 00:28:32,960 --> 00:28:35,990 Is féidir leat rochtain a fháil gorm, glas luachanna, agus dearg. 345 00:28:35,990 --> 00:28:38,670 Sin an dul chun teacht i handy mar gheall ar más féidir leat rochtain a fháil orthu, 346 00:28:38,670 --> 00:28:41,770 a chiallaíonn gur féidir leat seiceáil freisin iad, 347 00:28:41,770 --> 00:28:45,430 agus ciallaíonn sé sin go féidir leat athrú freisin dóibh. 348 00:28:45,430 --> 00:28:49,430 >> Mar sin, nuair a chuaigh muid ar ais go dtí ár shampla formhéadúcháin dearg gloine, 349 00:28:49,430 --> 00:28:53,390 go bunúsach, a bhí go gníomhú mar saghas scagaire le haghaidh dúinn. 350 00:28:53,390 --> 00:28:58,160 Mar sin, cad ba mhaith linn a dhéanamh ba mhaith linn a scagadh gach ceann de na triples atá ag teacht isteach 351 00:28:58,160 --> 00:29:01,240 Tá bealaí éagsúla chun seo a dhéanamh. 352 00:29:01,240 --> 00:29:07,100 Go bunúsach, is féidir leat is cuma cén cineál scagaire is mian leat. 353 00:29:07,100 --> 00:29:09,890 B'fhéidir gur mhaith leat a athrú gach pixel dearg 354 00:29:09,890 --> 00:29:13,570 nó b'fhéidir gur mhaith leat chun picteilín dath difriúil a athrú dath difriúil. 355 00:29:13,570 --> 00:29:15,400 Sin suas a thabhairt duit. 356 00:29:15,400 --> 00:29:19,580 Cuimhnigh gur féidir leat a sheiceáil cén dath atá ar an picteilín 357 00:29:19,580 --> 00:29:23,000 agus ansin is féidir leat athrú freisin é mar atá tú ag dul tríd. 358 00:29:24,410 --> 00:29:26,420 >> Maith go leor. Mar sin, tá go Whodunit. 359 00:29:26,420 --> 00:29:32,760 Nuair a ritheann tú Whodunit, beidh a fhios agat a bhí an culprit na coire. 360 00:29:32,760 --> 00:29:35,540 >> Anois, táimid ag dul chun dul go dtí Athraigh. 361 00:29:35,540 --> 00:29:37,990 Táimid ag dul go fóill a bheith ag déileáil le bitmaps. 362 00:29:37,990 --> 00:29:40,750 Cad táimid ag dul a dhéanamh táimid ag dul a bheith acu bitmap ionchur 363 00:29:40,750 --> 00:29:45,890 agus ansin táimid ag dul chun pas a fháil i roinnt agus ansin bitmap scríobhfar a fháil 364 00:29:45,890 --> 00:29:51,380 i gcás é sin go bunúsach ar ár infile de réir scála le n. 365 00:29:54,670 --> 00:30:01,450 Abair mo chomhad a bhí ach amháin picteilín mór. 366 00:30:01,450 --> 00:30:09,100 Ansin, más rud é go raibh mo n 3, scálú faoi 3, ansin ba mhaith liom arís go picteilín n líon na n-amanna, 367 00:30:09,100 --> 00:30:14,410 sin 3 huaire, agus ansin scála freisin sé síos 3 huaire chomh maith. 368 00:30:14,410 --> 00:30:17,840 Mar sin, a fheiceann tú mé ag scálú sé go hingearach chomh maith go cothrománach. 369 00:30:17,840 --> 00:30:19,680 >> Agus ansin tá anseo, mar shampla. 370 00:30:19,680 --> 00:30:27,590 Má tá tú n = 2, a fheiceann tú go bhfuil an picteilín chéad gorm ann arís agus arís eile dhá uair 371 00:30:27,590 --> 00:30:30,930 cothrománach go maith mar dhá uair go hingearach. 372 00:30:30,930 --> 00:30:38,040 Agus ansin leanann ar aghaidh, agus mar sin tá tú scálú díreach de do íomhá bunaidh faoi dhó. 373 00:30:40,920 --> 00:30:47,600 >> Mar sin, ansin, más rud go raibh muid go mion ar an pseudocode seo, ba mhaith linn a oscailt an comhad. 374 00:30:47,600 --> 00:30:49,880 Agus a fhios agam ansin go má théann muid ar ais anseo, 375 00:30:49,880 --> 00:30:54,540 feicimid go bhfuil an leithead an scríobhfar ag dul a bheith difriúil ná an leithead an infile. 376 00:30:54,540 --> 00:30:56,130 Cad a chiallaíonn? 377 00:30:56,130 --> 00:31:01,230 Ciallaíonn sé sin go bhfuil ár n-eolas header ag dul a athrú. 378 00:31:01,230 --> 00:31:03,790 Agus mar sin cad beidh muid ag iarraidh a dhéanamh cothrom le dáta ar an eolas header, 379 00:31:03,790 --> 00:31:11,820 a fhios agam go nuair a léigh muid i na comhaid má tá tú ag feidhmiú ar an gcreat ní féidir dí, 380 00:31:11,820 --> 00:31:17,570 atá againn cheana féin athróg a léiríonn cad é an méid agus rudaí mar sin. 381 00:31:17,570 --> 00:31:24,060 Mar sin, nuair a bhíonn tú go bhfuil, cad b'fhéidir gur mhaith leat a dhéanamh athrú na hathróga sin a leith. 382 00:31:24,060 --> 00:31:29,380 Cuimhnigh, má tá tú struct, conas tú rochtain ar na hathróga laistigh. 383 00:31:29,380 --> 00:31:32,080 Úsáid tú an t-oibreoir ponc, ceart? 384 00:31:32,080 --> 00:31:36,420 Mar sin, ansin ag baint úsáide as, tá a fhios agat go mbainfidh tú gá a athrú ar an eolas header. 385 00:31:36,480 --> 00:31:41,030 Mar sin tá anseo ach liosta de na gnéithe iarbhír ag dul a bheith ag athrú i do chomhad. 386 00:31:41,030 --> 00:31:45,180 Is é an méid comhaid ag dul a bheith ag athrú, an íomhá, chomh maith leis an leithead agus airde. 387 00:31:45,180 --> 00:31:50,080 Mar sin, dul ar ais ansin chuig an léarscáil de na bitmaps, 388 00:31:50,080 --> 00:31:57,730 breathnú ar cé acu tá sé an header comhad nó an header eolas go bhfuil an fhaisnéis sin 389 00:31:57,730 --> 00:32:00,920 agus athrú ansin mar is gá. 390 00:32:05,010 --> 00:32:12,470 Arís, a rá cp ní féidir dí resize.c. 391 00:32:12,470 --> 00:32:19,270 Ciallaíonn sé sin go bhfuil resize.c anois gach rud a tá ar fáil taobh istigh cóip 392 00:32:19,270 --> 00:32:24,490 toisc go dtugann cóip dúinn ar bhealach na léitheoireachta sa do gach picteilín scanline ag picteilín. 393 00:32:24,490 --> 00:32:29,860 Ach amháin anois, seachas díreach ag athrú na luachanna a rinne muid i Whodunit, 394 00:32:29,860 --> 00:32:37,980 cad ba mhaith linn a dhéanamh ná ba mhaith linn a scríobh i pixel il 395 00:32:37,980 --> 00:32:43,580 chomh fada agus is é ár n níos mó ná 1. 396 00:32:43,580 --> 00:32:47,110 >> Ansin tá cad ba mhaith linn a dhéanamh ba mhaith linn a stráice sé go cothrománach ag n, 397 00:32:47,110 --> 00:32:50,490 chomh maith le stráice mar atá sé go hingearach le n. 398 00:32:50,490 --> 00:32:52,710 Conas a d'fhéadfadh muid é seo a dhéanamh? 399 00:32:52,710 --> 00:32:56,890 Abair go bhfuil do n 2 agus tá tú seo a infile leith. 400 00:32:56,890 --> 00:32:58,730 Tá do cúrsóir ag dul go dtí tús a chur ag an chéad cheann, 401 00:32:58,730 --> 00:33:03,530 agus cad ba mhaith leat a dhéanamh más rud é n 2, ba mhaith leat a phriontáil i 2 de na. 402 00:33:03,530 --> 00:33:05,490 Mar sin leat a phriontáil i 2 de na. 403 00:33:05,490 --> 00:33:10,830 Ansin, tá do cúrsóir ag dul chun bogadh chuig an picteilín eile, a bhfuil an ceann dearg, 404 00:33:10,830 --> 00:33:18,400 agus tá sé ag dul a phriontáil amach 2 de na cinn dearg, ceangal sé isteach ar cad atá sé déanta roimh. 405 00:33:18,400 --> 00:33:26,280 Ansin, beidh an cúrsóir aistriú go dtí an picteilín eile agus a tharraingt i 2 de na. 406 00:33:26,280 --> 00:33:37,180 Má fhéachann tú ar ais ar an gcreat ní féidir dí, cad a dhéanann an ceart seo anseo 407 00:33:37,180 --> 00:33:42,830 Tá cruthaíonn sé chás nua ar triple RGB, athróg nua ar a dtugtar triple. 408 00:33:42,830 --> 00:33:50,500 Agus anseo nuair a léann sé isteach é, léann sé as an 1 infile RGBTRIPLE 409 00:33:50,500 --> 00:33:53,470 agus siopaí sé taobh istigh den athróg triple. 410 00:33:53,470 --> 00:33:57,590 Mar sin, ansin caithfidh tú i ndáiríre athróg a ionadaíonn an picteilín ar leith. 411 00:33:57,590 --> 00:34:05,290 Ansin, nuair a scríobhann tú, cad b'fhéidir gur mhaith leat a dhéanamh encase an ráiteas fwrite i do lúb 412 00:34:05,290 --> 00:34:11,080 go scríobhann sé isteach i do scríobhfar mar a mhéad uair mar is gá. 413 00:34:17,449 --> 00:34:20,100 Sin simplí go leor. 414 00:34:20,200 --> 00:34:27,590 Just a athdhéanamh go bunúsach leis an bpróiseas scríbhneoireachta n roinnt uaireanta de réir scála air go cothrománach. 415 00:34:27,590 --> 00:34:32,969 >> Ach ansin ní mór dúinn a mheabhrú go bhfuil ár stuáil dul chun athrú. 416 00:34:47,350 --> 00:34:53,020 Roimhe sin, a rá go raibh muid rud éigin ar fad 3. 417 00:34:53,020 --> 00:35:00,130 Ansin, ba mhaith linn a chur díreach i cé mhéad stuála? Ach amháin níos mó chun é a dhéanamh iolraí de 4. 418 00:35:00,130 --> 00:35:10,480 Ach rá táimid ag scálú an íomhá seo go háirithe trí n = 2. 419 00:35:10,480 --> 00:35:16,300 Mar sin, ansin cé mhéad pixel gorm againn ag an deireadh? Ba mhaith linn a bheith 6. 420 00:35:16,300 --> 00:35:21,470 1, 2, 3, 4, 5, 6. Gach ceart. 421 00:35:21,470 --> 00:35:26,580 Ní 6 iolraí de 4. Cad é an iolraí is gaire de 4? Sin ag dul a bheith 8. 422 00:35:26,580 --> 00:35:33,200 Mar sin, táimid ag dul i ndáiríre go bhfuil 2 carachtair de stuáil ann. 423 00:35:33,200 --> 00:35:38,720 >> An bhfuil aon duine cuimhneamh má táimid tar éis foirmle stuála a ríomh 424 00:35:38,720 --> 00:35:41,350 agus i gcás a d'fhéadfadh a bheith? 425 00:35:41,350 --> 00:35:45,160 [Fhreagra mac léinn inaudible] >> Yeah, copy.c. Ceart. 426 00:35:45,160 --> 00:35:49,800 Tá foirmle i ní féidir dí a ríomh cé mhéad stuála agat 427 00:35:49,800 --> 00:35:53,810 thabhairt ar leithead áirithe den íomhá bitmap. 428 00:35:53,810 --> 00:36:02,950 Mar sin, ansin go ag dul a bheith úsáideach nuair is gá duit a chur i méid áirithe de stuáil 429 00:36:02,950 --> 00:36:06,160 chun an figiúr iarbhír amach cé mhéad stuáil is gá duit a chur leis. 430 00:36:10,820 --> 00:36:15,850 Ach amháin faoi deara, cé go bhfuil, gur mian leat a dhéanamh cinnte go bhfuil tú ag baint úsáide as an méid ceart. 431 00:36:15,850 --> 00:36:21,410 Just a bheith cúramach toisc go bhfuil tú ag dul go bunúsach a bheith ag déileáil le dhá íomhá bitmap. 432 00:36:21,410 --> 00:36:23,410 Ba mhaith leat a dhéanamh cinnte go bhfuil tú ag baint úsáide as an ceann ceart. 433 00:36:23,410 --> 00:36:26,820 Nuair a bhíonn tú ag ríomh an stuáil le haghaidh scríobhfar, ba mhaith leat úsáid a bhaint as an leithead an scríobhfar an 434 00:36:26,820 --> 00:36:29,860 agus nach bhfuil an leithead an ceann roimhe sin. 435 00:36:29,860 --> 00:36:37,240 >> Great. Bíonn an cineál cúram síneadh íomhá bitmap fad cothrománach. 436 00:36:37,240 --> 00:36:41,290 Ach tá cad ba mhaith linn a dhéanamh síneadh sé i ndáiríre go hingearach maith. 437 00:36:41,290 --> 00:36:48,760 Tá sé seo ag dul a bheith beagán trickier mar nuair a tá muid críochnaithe a chóipeáil as a chéile 438 00:36:48,760 --> 00:36:51,580 agus an scríbhneoireacht go chéile, is é ár cúrsóir ag dul a bheith ag an deireadh. 439 00:36:51,580 --> 00:36:56,210 Mar sin, má léigh sinn arís, ansin tá sé ag dul ach a léamh i do na chéad líne eile. 440 00:36:56,210 --> 00:37:03,660 Mar sin, cad ba mhaith linn a dhéanamh de chineál ar fháil ar bhealach éigin a chóipeáil na sraitheanna arís 441 00:37:03,660 --> 00:37:12,500 nó díreach de chineál ar cur go chéile agus ansin athscríobh arís. 442 00:37:14,380 --> 00:37:17,940 Mar mé cineál tagraíodh dó, tá bealaí éagsúla chun seo a dhéanamh. 443 00:37:17,940 --> 00:37:23,040 Cad a d'fhéadfaí tú a dhéanamh ná mar a bhíonn tú ag dul trí agus a léamh tríd an scanline ar leith 444 00:37:23,040 --> 00:37:28,560 agus é a athrú mar is gá, ansin cineál siopa gach ceann de na pixel in eagar. 445 00:37:28,560 --> 00:37:36,350 Ansin a fhios agat níos déanaí go mbainfidh tú gá a phriontáil amach go eagar arís, 446 00:37:36,350 --> 00:37:39,830 agus mar sin is féidir leat é a úsáid go díreach eagar sin a dhéanamh. 447 00:37:39,830 --> 00:37:44,500 Is bealach eile a dhéanamh d'fhéadfaí tú a chóipeáil síos amháin as a chéile, 448 00:37:44,500 --> 00:37:47,950 a thuiscint gur gá duit a chóipeáil go arís, mar sin bogadh i ndáiríre do cúrsóir, 449 00:37:47,950 --> 00:37:50,950 agus tá go dul a bheith ag baint úsáide as an modh fseek. 450 00:37:50,950 --> 00:37:56,410 D'fhéadfá dul do cúrsóir léir ar an mbealach ar ais agus ansin leis an bpróiseas cóip athdhéanamh arís. 451 00:37:56,410 --> 00:38:03,960 >> Mar sin, más rud é ár n-uimhir scálú n, ansin bheadh ​​cé mhéad uair ní mór dúinn dul ar ais 452 00:38:03,960 --> 00:38:10,500 agus athscríobh ar líne? >> [Mac léinn] n - 1. >> Yeah, foirfe. n - 1. 453 00:38:10,500 --> 00:38:14,390 Táimid tar éis a rinneadh é aon uair amháin cheana féin, mar sin ansin beidh muid ag iarraidh a athdhéanamh an próiseas ar ais ag dul 454 00:38:14,390 --> 00:38:17,460 n - 1 méid na n-amanna. 455 00:38:22,730 --> 00:38:25,860 Maith go leor. Mar sin, tá tú do fheidhm athraithe méid. 456 00:38:25,860 --> 00:38:34,360 >> Anois is féidir linn a fháil ar chuid spraoi i ndáiríre, mo pset is fearr leat, a bhfuil ghnóthú. 457 00:38:34,360 --> 00:38:39,580 In ionad bitmaps, an uair seo táimid ag déileáil le jpeg. 458 00:38:39,580 --> 00:38:43,370 Againn nach bhfuil tugtha iarbhír comhad amháin de jpeg, 459 00:38:43,370 --> 00:38:46,600 táimid tugtha go bunúsach i bhformáid cárta amh chuimhne. 460 00:38:46,600 --> 00:38:51,790 Agus mar sin tá sé seo le beagán de luachanna info agus truflais ar dtús, 461 00:38:51,790 --> 00:38:57,240 agus ansin a thosaíonn sé agus tá sé a bunch de chomhaid JPEG. 462 00:38:57,240 --> 00:39:03,430 Mar sin féin, táimid ag láimh cárta áit againn scriosadh na grianghraif; 463 00:39:03,430 --> 00:39:08,300 go bunúsach, tá muid dearmad i gcás na grianghraif lonnaithe laistigh den chárta. 464 00:39:08,300 --> 00:39:12,770 Mar sin, ansin is é ár tasc i ghnóthú chun dul tríd an bhformáid cárta 465 00:39:12,770 --> 00:39:16,500 agus teacht ar na pictiúir arís. 466 00:39:16,500 --> 00:39:23,990 >> Luckily, tá an struchtúr comhad JPEG agus an comhad cárta le beagán cabhrach. 467 00:39:23,990 --> 00:39:28,850 D'fhéadfadh sé a bheith cinnte le beagán trickier más rud é nach raibh sé san fhormáid seo go háirithe. 468 00:39:28,850 --> 00:39:40,160 Gach comhad JPEG a thosaíonn i ndáiríre le dhá sraitheanna is féidir, atá liostaithe thuas. 469 00:39:40,160 --> 00:39:42,970 Go bunúsach, aon uair tá tú nua JPEG comhad, 470 00:39:42,970 --> 00:39:52,720 Tosaíonn sé le seicheamh ceachtar an ffd8 ffe0 nó an ceann eile, ffd8 ffe1. 471 00:39:52,720 --> 00:39:59,530 Is ea an rud cabhrach a fhios go jpeg a stóráil contiguously. 472 00:39:59,530 --> 00:40:03,380 Mar sin, aon uair a chríochnaíonn ar cheann JPEG comhad, an ceann eile a thosaíonn. 473 00:40:03,380 --> 00:40:07,070 Mar sin, nach bhfuil de chineál ar bith i-idir luachanna ann. 474 00:40:07,070 --> 00:40:15,510 Nuair a bhuail tú tús le JPEG, má tá tú cheana féin a léamh JPEG, 475 00:40:15,510 --> 00:40:21,800 tá a fhios agat go bhfuil tú bhuail an deireadh an ceann roimhe sin agus tús an chéad cheann eile. 476 00:40:21,800 --> 00:40:25,890 >> Chun de chineál ar visualize seo, rinne mé schematic. 477 00:40:25,890 --> 00:40:36,910 Tá rud eile faoi jpeg gur féidir linn iad a léamh i sraitheanna de 512 bytes ag an am, 478 00:40:36,910 --> 00:40:39,380 céanna le tús an chárta. 479 00:40:39,380 --> 00:40:43,370 Ní chuirimid gá iad a sheiceáil gach beart aonair mar a bheadh ​​tarraing. 480 00:40:43,370 --> 00:40:48,200 Mar sin, ina ionad sin, cad is féidir linn a dhéanamh i ndáiríre ach léamh i 512 bytes ag an am 481 00:40:48,200 --> 00:40:54,700 agus ansin, in ionad a sheiceáil i idir iad siúd sna slices beag bídeach, 482 00:40:54,700 --> 00:40:58,640 féidir linn a sheiceáil ach an tús an 512 bytes. 483 00:40:58,640 --> 00:41:02,570 Go bunúsach, sa phictiúr seo, is é méid a fheiceann tú i tús an chárta, 484 00:41:02,570 --> 00:41:08,700 tá tú luachanna nach bhfuil i ndáiríre a bhaineann leis na jpeg iarbhír féin. 485 00:41:08,700 --> 00:41:15,830 Ach ansin cad tá mé réalta a chur in iúl ar cheann den dá sraitheanna tosaigh do JPEG. 486 00:41:15,830 --> 00:41:19,910 Mar sin, nuair a fheiceann tú le réalta, tá a fhios agat go bhfuil tú comhad JPEG. 487 00:41:19,910 --> 00:41:25,030 Agus ansin gach comhad JPEG ag dul a bheith ar roinnt iolraí de 512 bytes 488 00:41:25,030 --> 00:41:27,880 ach ní gá an t-iolrú céanna. 489 00:41:27,880 --> 00:41:32,050 Is é an bealach go bhfuil a fhios agat go bhfuil tú bhuail eile JPEG má bhuail tú eile réalta, 490 00:41:32,050 --> 00:41:39,090 eile ord ag tosú de bytes. 491 00:41:39,090 --> 00:41:43,330 Ansin tá cad tá tú anseo tá tú ar an JPEG dearg comhad leanúnach go dtí go bhuail tú le réalta, 492 00:41:43,330 --> 00:41:45,150 atá léirithe ag dath nua. 493 00:41:45,150 --> 00:41:48,510 Tá tú ar aghaidh agus ansin bhuail tú eile réalta, bhuail tú eile JPEG, 494 00:41:48,510 --> 00:41:50,590 leanann tú an bealach ar fad go dtí an deireadh. 495 00:41:50,590 --> 00:41:53,180 Tá tú ar an pictiúr seo caite anseo, an ceann bándearg. 496 00:41:53,180 --> 00:41:58,220 Théann tú go dtí deireadh go dtí go bhuail tú ar deireadh an carachtar comhaid. 497 00:41:58,220 --> 00:42:00,820 Tá sé seo ag dul a bheith i ndáiríre úsáideach. 498 00:42:00,820 --> 00:42:03,170 >> A takeaways roinnt príomh-anseo: 499 00:42:03,170 --> 00:42:06,670 Níl an comhad cárta tús a chur le JPEG, 500 00:42:06,670 --> 00:42:13,350 ach nuair a thosaíonn JPEG, gach ceann de na jpeg a stóráil taobh le taobh a chéile. 501 00:42:17,520 --> 00:42:20,420 >> Roinnt pseudocode don ghnóthú. 502 00:42:20,420 --> 00:42:22,570 Gcéad dul síos, táimid ag dul a oscailt ár n-comhad cárta, 503 00:42:22,570 --> 00:42:27,500 agus tá go dul a bheith ag baint úsáide as ár comhad I / O feidhmeanna. 504 00:42:27,500 --> 00:42:32,430 Táimid ag dul a dhéanamh arís ar an bpróiseas seo a leanas go dtí go bhfaca sroichte againn faoi dheireadh na comhaid. 505 00:42:32,430 --> 00:42:36,450 Táimid ag dul a léamh 512 bytes ag an am. 506 00:42:36,450 --> 00:42:39,180 Agus is é an méid a dúirt mé anseo táimid ag dul chun é a stóráil i maolán, 507 00:42:39,180 --> 00:42:46,230 mar sin go bunúsach a shealbhú ar aghaidh go dtí na 512 beart go dtí a fhios againn go díreach cad a dhéanamh leo. 508 00:42:46,230 --> 00:42:50,300 Ansin tá cad ba mhaith linn a dhéanamh ba mhaith linn a sheiceáil cibé an againn hit réalta nó nach bhfuil. 509 00:42:50,300 --> 00:42:57,960 Má tá muid buailte le réalta, má tá muid bhuail ar cheann de na sraitheanna tosaigh, 510 00:42:57,960 --> 00:42:59,980 ansin a fhios againn go againn hit nua JPEG comhad. 511 00:42:59,980 --> 00:43:08,860 Cad beidh muid ag iarraidh é a dhéanamh táimid ag dul a iarraidh a chruthú comhad nua inár n-eolaire pset4 512 00:43:08,860 --> 00:43:14,480 chun leanúint ar aghaidh ag déanamh an gcomhad sin. 513 00:43:14,480 --> 00:43:18,220 Ach chomh maith, má tá déanta againn cheana féin JPEG roimh, 514 00:43:18,220 --> 00:43:25,620 ansin ba mhaith linn chun deireadh a chur go comhad agus é a bhrú chun an fillteán pset4, 515 00:43:25,620 --> 00:43:29,780 nuair a beidh orainn go bhfuil comhad a stóráil mar mura bhfuil againn a shonrú go atá againn dar críoch go JPEG comhad, 516 00:43:29,780 --> 00:43:37,290 ansin beidh orainn go bunúsach le méid éiginnte. Ní bheidh na jpeg deireadh. 517 00:43:37,290 --> 00:43:40,840 Mar sin, ba mhaith linn a dhéanamh cinnte go bhfuil nuair a bhíonn muid ag léamh i chun an comhad JPEG agus scríbhinn, 518 00:43:40,840 --> 00:43:46,590 ba mhaith linn a dhúnadh go sonrach go bhfuil d'fhonn a oscailt an chéad cheann eile. 519 00:43:46,590 --> 00:43:48,430 Beidh muid ag iarraidh a sheiceáil roinnt rudaí. 520 00:43:48,430 --> 00:43:52,880 Ba mhaith linn a sheiceáil cibé an bhfuil muid ag tús a JPEG nua lenár maoláin 521 00:43:52,880 --> 00:43:56,780 agus freisin má táimid a fuair cheana féin JPEG roimh 522 00:43:56,780 --> 00:44:03,930 mar go mbeidh a athrú ar do phróiseas beagán. 523 00:44:03,930 --> 00:44:07,880 Mar sin, ansin tar éis a théann tú tríd an mbealach ar fad agus bhuail tú ar deireadh an chomhaid, 524 00:44:07,880 --> 00:44:11,570 ansin cad beidh tú ag iarraidh a dhéanamh beidh tú ag iarraidh a dhúnadh go léir na comhaid atá ar oscailt faoi láthair. 525 00:44:11,570 --> 00:44:14,100 Beidh sé dócha an deireanach JPEG comhad go bhfuil tú, 526 00:44:14,100 --> 00:44:18,930 chomh maith leis an comhad cárta go atá tú ag déileáil leis. 527 00:44:21,940 --> 00:44:28,670 >> Is é an constaic is déanaí gur gá dúinn dul i ngleic le conas a dhéanamh i ndáiríre comhad JPEG 528 00:44:28,670 --> 00:44:31,950 agus conas a bhrú i ndáiríre é an fillteán. 529 00:44:33,650 --> 00:44:39,850 Éilíonn an pset go bhfuil gach JPEG go bhfaighidh tú a bheith san fhormáid seo a leanas, 530 00:44:39,850 --> 00:44:43,990 áit a bhfuil tú ar an líon. jpg. 531 00:44:43,990 --> 00:44:50,750 An líon, fiú má tá sé 0, tugaimid 000.jpg é. 532 00:44:50,750 --> 00:44:55,730 Aon uair a fhaigheann tú ar JPEG i do chlár, 533 00:44:55,730 --> 00:44:58,040 bhfuil tú ag dul a iarraidh é a ainmniú san ordú go bhfuil sé aimsithe. 534 00:44:58,040 --> 00:44:59,700 Cad a chiallaíonn sé seo? 535 00:44:59,700 --> 00:45:03,530 Ní mór dúinn de chineál ar súil a choinneáil ar cé mhéad againn fuair 536 00:45:03,530 --> 00:45:08,680 agus cad ba chóir an uimhir gach JPEG a bheith. 537 00:45:08,680 --> 00:45:13,800 Anseo táimid ag dul leas a bhaint as an bhfeidhm sprintf. 538 00:45:13,800 --> 00:45:17,480 Cosúil le printf, a díreach de chineál ar priontaí luach amach ar an teirminéal, 539 00:45:17,480 --> 00:45:23,910 sprintf priontaí an comhad amach ar an fillteán. 540 00:45:23,910 --> 00:45:30,870 Agus mar sin cad a bheadh ​​seo a dhéanamh má bhí mé sprintf, teideal, agus ansin an teaghrán ann, 541 00:45:30,870 --> 00:45:36,660 bheadh ​​sé a phriontáil amach 2.jpg. 542 00:45:36,660 --> 00:45:41,020 Ag glacadh leis go bhfuil mé dúnta mo chomhaid i gceart, 543 00:45:41,020 --> 00:45:47,210 a bheadh ​​go bhfuil an comhad go raibh scríobh mé amach. 544 00:45:47,210 --> 00:45:50,320 Ach tá rud amháin go bhfuil an cód go bhfuil mé anseo 545 00:45:50,320 --> 00:45:53,360 Ní shásamh go maith cad a éilíonn an pset. 546 00:45:53,360 --> 00:46:02,410 Éilíonn an pset gur chóir go mbeadh an dara JPEG comhad a ainmniú 002 seachas díreach 2. 547 00:46:02,410 --> 00:46:09,160 Mar sin, nuair a phriontáil tú amach an t-ainm, ansin, b'fhéidir b'fhéidir gur mhaith leat a athrú ar an placeholder beagán. 548 00:46:09,160 --> 00:46:18,140 >> An bhfuil aon duine cuimhneamh conas a chumas againn do spásanna breise nuair a phriontáil againn rud éigin? 549 00:46:18,140 --> 00:46:22,530 Yeah. >> [Mac léinn] a chur tú 3 idir an comhartha faoin gcéad agus an 2. >> Yeah, foirfe. 550 00:46:22,530 --> 00:46:25,610 Feicfidh tú a chur ar 3 sa chás seo mar ba mhaith linn spás le haghaidh 3. 551 00:46:25,610 --> 00:46:32,590 Ba mhaith 3D% a thabhairt is dócha tú 002.jpg in ionad 2. 552 00:46:32,590 --> 00:46:40,120 Is í an argóint chéad uair an fheidhm sprintf iarbhír sraith Char, 553 00:46:40,120 --> 00:46:42,520 a fhios againn roimhe seo mar teaghráin. 554 00:46:42,520 --> 00:46:50,700 Glacfar bheidh, de chineál ar níos mó cosúil le stóráil shealadach, a stóráil ach an teaghrán mar thoradh. 555 00:46:50,700 --> 00:46:54,950 Ní bheidh tú i ndáiríre a bheith ag déileáil leis seo, ach ní mór duit a chur san áireamh. 556 00:46:54,950 --> 00:47:00,710 >> A fhios agam go bhfuil gach ainm comhaid ar an líon, a thógann suas trí carachtair, 557 00:47:00,710 --> 00:47:06,770 agus ansin. jpg, ba chóir go cé chomh fada leis an eagar a bheith? 558 00:47:09,070 --> 00:47:14,310 Caith amach roinnt. Cé mhéad carachtair sa teideal, in ainm? 559 00:47:18,090 --> 00:47:26,320 Mar sin, níl 3 hashtags, tréimhse, jpg. >> [Mac léinn] 7. >> 7. Ní leor. 560 00:47:26,320 --> 00:47:32,000 Táimid ag dul go dtí gur mian 8 mar ba mhaith linn ionas gur féidir an Críochnaitheoir null chomh maith. 561 00:47:45,340 --> 00:47:49,730 >> Ar deireadh, ach a tharraingt amach ar an bpróiseas go mbainfidh tú a dhéanamh do ghnóthú, 562 00:47:49,730 --> 00:47:55,420 tá tú roinnt eolais tús. 563 00:47:55,420 --> 00:48:02,460 Leanúint ar aghaidh leat go dtí go bhfaighidh tú tús le comhad JPEG, 564 00:48:02,460 --> 00:48:07,900 agus is féidir a bheith go ceachtar ceann amháin de dhá sraitheanna ag tosú. 565 00:48:07,900 --> 00:48:12,510 Tú a choinneáil ar a léamh. Is ionann gach Slais anseo 512 bytes. 566 00:48:12,510 --> 00:48:22,630 Tú a choinneáil ar léamh, a choinneáil ar léamh go dtí go leat teacht ar eile ord ag tosú. 567 00:48:22,630 --> 00:48:29,790 Nuair a bheidh tú go bhfuil, deireadh tú an JPEG reatha - sa chás seo, tá sé an ceann dearg, 568 00:48:29,790 --> 00:48:31,030 mar sin ba mhaith leat chun deireadh a. 569 00:48:31,030 --> 00:48:35,540 Ba mhaith leat a sprintf an t-ainm sin isteach i do fhillteán pset4, 570 00:48:35,540 --> 00:48:41,580 ansin ba mhaith leat a oscailt JPEG nua agus ansin a choimeád ar léamh 571 00:48:41,580 --> 00:48:46,370 go dtí go leat teacht ar an chéad cheann eile. 572 00:48:46,370 --> 00:48:49,040 Coinnigh ar léamh, a choinneáil ar léitheoireacht, 573 00:48:49,040 --> 00:48:56,290 agus ansin ar deireadh, ar deireadh thiar, tá tú ag dul chun teacht ar an deireadh comhaid, 574 00:48:56,290 --> 00:49:00,360 agus mar sin beidh tú ag iarraidh a dhúnadh an JPEG seo caite go raibh tú ag obair leis, 575 00:49:00,360 --> 00:49:08,380 sprintf go isteach i do fhillteán pset4, agus ansin féachaint ar gach ceann de na pictiúir go atá tú gotten. 576 00:49:08,380 --> 00:49:12,050 Tá na pictiúir iarbhír pictiúir de CS50 foirne, 577 00:49:12,050 --> 00:49:16,430 agus mar sin tá sé seo nuair a thagann an chuid is spraoi bónas de pset i 578 00:49:16,430 --> 00:49:26,310 Tá go bhfuil tú ag iomaíocht i do rannóga a fháil ar an TFS sna pictiúir 579 00:49:26,310 --> 00:49:34,610 agus pictiúir a ghlacadh leo a chruthú go atá déanta agat ar an pset 580 00:49:34,610 --> 00:49:37,030 agus mar sin is féidir leat a fheiceáil atá ina gcomhaltaí foirne sna pictiúir. 581 00:49:37,030 --> 00:49:41,510 Mar sin, ansin tú pictiúir a ghlacadh leis an bhfoireann. Uaireanta beidh ort a chase síos iad. 582 00:49:41,510 --> 00:49:44,680 Is dócha go mbeidh cuid acu iarracht a reáchtáil ar shiúl ó leat. 583 00:49:44,680 --> 00:49:47,320 Tá tú pictiúir a thógáil leo. 584 00:49:47,320 --> 00:49:51,190 Tá sé seo ar siúl. Níl sé mar gheall ar nuair a bhíonn an pset dlite. 585 00:49:51,190 --> 00:49:53,340 Beidh an spriocdháta a fógraíodh sa spec. 586 00:49:53,340 --> 00:49:58,060 Ansin le chéile le do ailt, a thógann cibé alt ar na pictiúir is mó 587 00:49:58,060 --> 00:50:04,430 Beidh leis na comhaltaí foirne is mó a bhuachan duais go leor uamhnach. 588 00:50:04,430 --> 00:50:08,890 Sin de chineál ar dreasacht a fháil críochnaithe do pset4 chomh tapa agus is féidir 589 00:50:08,890 --> 00:50:10,820 mar gheall ar ansin is féidir leat a fháil síos chun gnó 590 00:50:10,820 --> 00:50:14,570 fiach síos gach CS50 bhaill éagsúla foirne. 591 00:50:14,570 --> 00:50:17,500 Ní Sin éigeantach, ach, mar sin nuair a fhaigheann tú ar na pictiúir, 592 00:50:17,500 --> 00:50:20,310 ansin tá tú críochnaithe le pset4. 593 00:50:20,310 --> 00:50:23,970 >> Agus mé ag críochnaithe leis Walkthrough 4, mar sin buíochas a ghabháil libh go léir as teacht. 594 00:50:23,970 --> 00:50:29,330 Ádh mór le Fóiréinsic. [Bualadh bos] 595 00:50:29,330 --> 00:50:31,000 [CS50.TV]