[Powered by Google Translate] [Walkthrough - 4 Set Fadhb]
[Zamyla Chan - Ollscoil Harvard]
Is é [seo CS50. - CS50.TV]
Gach ceart. Dia duit, gach duine, agus fáilte a chur Walkthrough 4.
>> Sa lá atá inniu ár n-pset Fóiréinsic.
Is Fóiréinsic a pset i ndáiríre spraoi a mbíonn i gceist ag déileáil le comhaid bitmap
chun a fháil amach a rinne coir.
Ansin táimid ag dul a athrú roinnt comhaid bitmap,
ansin táimid ag dul freisin chun déileáil le cuid spraoi i ndáiríre ar a dtugtar ghnóthú,
ina táimid láimh go bunúsach cárta cuimhne
ina bhfuil duine éigin a scriosadh de thaisme go léir a gcuid comhad,
agus táimid ag iarraidh a ghnóthú na comhaid sin.
>> Ach ar dtús, sula bhfaigheann muid isteach ar an pset, mé i ndáiríre ach ag iarraidh gach duine a comhghairdeas.
Táimid faoi ag an lárphointe an chúrsa seo.
Tráth na gCeist 0 Is é taobh thiar dúinn, agus táimid ag pset4, mar sin go bunúsach, tá muid leath-shlí.
Táimid tar éis teacht ar bhealach fada má fhéachann tú ar ais le do psets, pset0 agus pset1,
mar sin comhghairdeas a dhéanamh tú féin faoi sin,
agus táimid ag dul chun dul isteach ar roinnt rudaí spraoi i ndáiríre.
>> Mar sin, ár n-bosca uirlisí seo pset, arís, in ionad a reáchtáil sudo yum-y cothrom le dáta,
tá muid in ann a reáchtáil ach update50 má tá tú ag leagan 17.3 agus os a chionn ar an fearas.
Mar sin, a bheith cinnte a reáchtáil update50 - tá sé níos éasca go leor, a carachtair cúpla níos lú -
a dhéanamh cinnte go bhfuil tú ag an leagan is déanaí den fearas.
Go háirithe tá sé tábhachtach update50 nuair a thosaíonn muid ag baint úsáide CS50 Seiceáil.
Sin a dhéanamh cinnte go bhfuil tú go.
>> I gcás gach ceann de na rannóga seo pset,
táimid ag dul a bheith ag déileáil le hionchur comhad agus aschuir, comhad I / O.
Táimid ag dul a bheith ag dul thar a lán de chláir a bhíonn ag déileáil le arrays
atá dírithe ar chomhaid agus rudaí mar sin,
mar sin ba mhaith linn a dhéanamh cinnte go bhfuil muid i ndáiríre ar an eolas agus compordach
ag déileáil le conas a ionchur agus aschur isteach i gcomhaid.
>> Sa cód dáilte don pset Is comhad a dtugtar an chomhaid,
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
mar gheall ar táimid ag dul chun deireadh suas a chóipeáil iarbhír an comhad an chomhaid
agus ag athrú ach é beagán a bheith in ann a bhaint amach an chéad 2 codanna de an leagan bhfadhb.
>> Agus mar sin ansin mar a luaigh mé cheana, tá muid ag déileáil le bitmaps, chomh maith le jpeg.
Mar sin, tuiscint i ndáiríre an struchtúr ar conas na comhaid sin a eagrú,
conas is féidir linn a aistriú i ndáiríre an 0s agus 1s i structs
agus rudaí gur féidir linn a thuiscint i ndáiríre agus a léirmhíniú agus eagarthóireacht,
a bheidh tábhachtach i ndáiríre,
mar sin dul isteach JPEG agus comhaid bitmap agus tuiscint ar struchtúr na.
>> Pset4, mar is gnách a thosaíonn, le cuid de na ceisteanna.
Beidh na déileáil le comhad I / O agus a fháil accustomed tú leis sin.
Ansin tá cuid 1 Whodunit, ina bhfuil tú ag tugtha comhad bitmap
go Breathnaíonn cineál cosúil poncanna dearg gach cearn.
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
isteach i leagan gur féidir linn a léamh.
Go bunúsach, nuair a linn a chríochnú, beidh orainn an comhad céanna,
ach amháin beidh muid in ann a fheiceáil an teachtaireacht i bhfolach i bhfolach ag gach poncanna dearg.
Ansin tá Athraigh clár a, mar gheall ar comhad
agus a thabhairt ansin an t-ainm an chomhaid a aschur é agus ansin a thabhairt ar roinnt, chomh maith,
Beidh Athraigh ndáiríre go bitmap ag an luach slánuimhir.
Ansin ar deireadh, ní mór dúinn an pset ghnóthú.
Táimid Tugtar cárta cuimhne agus ansin a ghnóthú go léir de na grianghraif
a bhí scriosta thaisme,
ach, ní mar beidh linn a fhoghlaim, scrios iarbhír agus a bhaintear as an comhad;
againn de chineál amháin de caillte nuair a bhí siad sa chomhad, ach táimid ag dul a ghnóthú go.
>> 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.
Tá tú le feiceáil cheana féin le beagán na bunghnéithe fopen, fread, agus fwrite,
ach táimid ag dul chun breathnú níos faide i roinnt comhad I / O feidhmeanna, mar shampla fputc,
ina bhfuil tú scríobh ach aon charachtar amháin ag an am,
go fseek, áit a bhfuil tú de chineál ar bogadh an táscaire seasamh comhad chun tosaigh agus ar gcúl,
agus ansin roinnt daoine eile. Ach beidh muid ag dul isteach go beagán níos déanaí i rith na pset.
>> Mar sin, an chéad, ach a fháil i gcomhad I / O sula dtéann muid isteach an pset,
a oscailt comhad, mar shampla, cad a bhfuil tú a dhéanamh leagtha i ndáiríre pointeoir leis an gcomhad sin.
Mar sin, ní mór dúinn a pointeoir * COMHAD.
Sa chás seo, tá mé ag iarraidh é a i pointeoir mar gheall ar sin ag dul a bheith ar mo infile.
Agus mar sin tá mé ag dul a bhaint as an fopen fheidhm agus ansin an t-ainm an chomhaid
agus ansin an modh ina bhfuil mé ag dul a bheith ag déileáil leis an gcomhad.
Mar sin, níl "r" sa chás seo le haghaidh léamh, "w" do scríobh, agus ansin "a" chun ceangal.
Mar shampla, nuair a bhíonn tú ag déileáil le infile
agus tá gach mian leat a dhéanamh a léamh giotán agus bearta a stóráil ann,
ansin tá tú ag dul is dócha a iarraidh úsáid a bhaint "r" mar do mhodh.
Nuair is mian leat a scríobh i ndáiríre, de chineál ar a dhéanamh comhad nua,
ansin cad táimid ag dul a dhéanamh táimid ag dul a oscailt an comhad nua
agus úsáid an "w" mód do scríobh.
>> 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.
An Chéad tá tú ar an pointeoir leis an struct a bhfuil na bearta go bhfuil tú ag léamh.
Mar sin, tá go bhfuil ag dul a bheith ar an suíomh deireadh na bearta go bhfuil tú ag léamh.
Tá tú ag dul ansin a chur in iúl an méid, cosúil le conas go bunúsach go leor bytes
Tá do chlár a léamh i do chomhad, is é an méid bunúsach ghné amháin,
agus ansin tá tú ag dul a shonrú cé mhéad gnéithe is mian leat a léamh.
Agus ansin ar deireadh, ní mór duit fios a bheith agat nuair a bhfuil tú ag léamh as,
mar sin tá go dul a bheith do pointeoir i.
I dath-códaithe seo toisc go bhfuil fread freisin an-chosúil leis fwrite,
ach amháin gur mhaith leat a dhéanamh cinnte go n-úsáideann tú an t-ordú ceart,
a dhéanamh cinnte go bhfuil tú ag scríobh iarbhír nó a léamh ó na comhaid ceart.
>> Mar sin, ansin roimh mar, má táimid tar éis an méid de na ghné, chomh maith le líon na n-eilimintí,
ansin is féidir linn a imirt thart anseo le beagán.
Abair Tá mé struct MADRAÍ agus mar sin ansin ba mhaith liom a léamh dhá madraí ag an am.
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Í
agus tá mé ag dul a léamh iarbhír dhá cheann acu.
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
agus go bhfuil gné amháin ag dul a bheith ar an méid de dhá madraí.
Mar sin, tá go dul conas is féidir leat cineál a bhaineann le súgradh timpeall le méid agus líon
ag brath ar cad atá níos mó iomasach a thabhairt duit.
>> Gach ceart. Mar sin anois a fháil againn chun comhaid a scríobh.
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.
Mar sin tá go bunúsach na sonraí go bhfuil tú ag dul a scríobh isteach an comhad,
a bhfuil an pointeoir amach ag an deireadh.
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.
B'fhéidir go bhfuil an taobh sainmhínithe le taobh.
Is féidir leat a tharraingt na sainmhínithe suas sa lámhleabhar ag clóscríobh fear agus ansin fwrite, mar shampla,
sa chríochfort, nó is féidir leat a tharchur ar ais chuig an sleamhnán
agus a dhéanamh cinnte go bhfuil tú ag baint úsáide as an ceann ceart.
Mar sin, arís, le haghaidh fwrite, nuair a tá tú comhad gur mian leat a scríobh isteach,
go ag dul a bheith ar an argóint deiridh agus go dul a bheith ina pointeoir chuig an gcomhad.
Mar sin, ansin go conas a phléimid le scríobh b'fhéidir bytes roinnt ag an am,
ach a rá mian leat a scríobh go díreach i gcarachtar amháin amháin.
Mar beidh orainn a fheiceáil níos faide anonn sa sampla seo, i bitmaps beidh orainn sin a úsáid.
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,
isteach an pointeoir comhaid, agus go bhfuil ar ár pointeoir amach ann.
Mar sin, ansin aon uair iarracht nó scríobh i gcomhad,
an comhad súil a choinneáil ar áit a bhfuil muid.
Mar sin tá sé saghas cúrsóir, an táscaire seasamh comhad.
Agus mar sin aon uair muid ag scríobh nó léamh arís i gcomhad,
an comhad cuimhin ndáiríre áit a bhfuil sé,
agus mar sin leanann sé ar aghaidh ó áit a bhfuil an cúrsóir.
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
agus a léamh ansin ar an méid seo a leanas,
ach uaireanta d'fhéadfadh muid a iarraidh dul ar ais nó iarbhír tús a chur as luach tagartha áirithe.
Mar sin, ansin an fheidhm fseek, ceadaíonn cad a dhéanann sé ar ár gcumas bogadh an cúrsóir i gcomhad áirithe
tá líon áirithe beart.
Agus ansin cad atá againn a dhéanamh a shonrú áit a bhfuil an luach tagartha.
Mar sin, ceachtar bogann sé ar aghaidh nó ar gcúl ó áit a bhfuil an cúrsóir faoi láthair,
nó is féidir linn a shonrú gur cheart go bogadh díreach i ó thús an chomhaid
nó ó dheireadh thréimhse an chomhaid.
Agus mar sin is féidir leat pas a fháil i luachanna diúltach nó dearfach maidir le méid,
agus beidh chineál sin de a bhogadh an cúrsóir go aghaidh nó ar gcúl.
>> Roimh a fháil againn i na psets eile, aon cheist ar chomhad I / O?
Maith go leor. Agus muid ag dul isteach ar níos mó samplaí, dar saor chun stop a chur orm le haghaidh ceisteanna.
>> Mar sin, i Whodunit, go bhfuil tú ar láimh comhad bitmap cosúil leis an gceann seo dearg ar an sleamhnán,
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.
Má squint tú, féadfaidh tú a bheith in ann a fheiceáil dath beag bluish taobh istigh den lár.
Go bunúsach, go bhfuil ina bhfuil an téacs a stóráil.
Bhí dúnmharú a tharla, agus ní mór dúinn a fháil amach cé a rinne sé.
Chun é sin a dhéanamh, ní mór dúinn de chineál ar thiontú an íomhá seo i bhformáid inléite.
Má bhíonn tú guys riamh seo, uaireanta, ba mhaith a bheith ann feisteáin beag
i gcás ina mbeadh tú a bheith gloine formhéadúcháin le scannán dearg. Duine ar bith? Yeah.
Mar sin, go mbeadh tú a bheith rud éigin láimh mar seo, a bheadh ​​agat gloine formhéadúcháin
leis an scannán dearg níos mó ná é, ba mhaith leat é a chur thar an íomhá,
agus go mbeadh tú in ann a fheiceáil an teachtaireacht i bhfolach ann.
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ú
sa pset.
Agus mar sin an t-úsáideoir ag dul a whodunit ionchur, agus ansin an clue,. BMP,
Tá ionas go mbeidh an infile, go bhfuil an teachtaireacht ponc dearg,
agus ansin tá siad ag rá verdict.bmp ag dul a bheith ar ár scríobhfar.
Mar sin, tá sé ag dul a chruthú íomhá bitmap nua cosúil leis an leid amháin
ach amháin i bhformáid inléite nuair is féidir linn a fheiceáil an teachtaireacht i bhfolach.
>> Ós rud é go táimid ag dul a bheith ag déileáil le eagarthóireacht agus ionramháil bitmaps de chineál éigin,
táimid ag dul a chineál Léim i isteach i struchtúr na comhaid bitmap.
Chuaigh muid thar na beagán beag i léacht, ach a ligean ar breathnú isteach iad roinnt níos mó.
Bitmaps go bunúsach ach socrú na mbeart
nuair atá againn a shonraítear i gceist a bytes cad é.
Mar sin, tá anseo cineál cosúil le léarscáil den íomhá bitmap
ag rá go dtosaíonn sé le roinnt comhaid header Tosaíonn, le roinnt eolais i ann.
Féach leat go bhfuil ag thart ar líon beart 14 an méid atá léirithe ar an íomhá bitmap,
agus leanann sé ar aghaidh.
Ach ansin cad táimid ag suim acu i ndáiríre i anseo ag tosú thart ar líon beart 54.
Tá na triples RGB.
Cad a ag dul a dhéanamh ná go bhfuil an pixel iarbhír, na luachanna dath.
Tá gach rud thuas sa cheanntásc roinnt faisnéise
fhreagraíonn do mhéid an íomhá, an leithead an íomhá, agus an airde.
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á
D'fhéadfadh a bheith difriúil ná an leithead nó airde.
Mar sin, ansin chun ionadaíocht a dhéanamh ar na - na híomhánna bitmap Tá sraitheanna bytes -
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,
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
Tá Cuach sé i struct.
Agus mar sin tá dhá structs a dhéanamh dúinn, a BITMAPFILEHEADER
agus BITMAPINFOHEADER,
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,
agus mar sin d'fhonn tá sé ag dul freisin a líonadh isteach i athróga cosúil le biWidth agus biSize.
Agus ansin ar deireadh, tá gach picteilín ionadaíocht ag trí bytes.
Is é an chéad cheann an méid gorm sa picteilín, is é an dara méid an glas,
agus ar deireadh, méid an dearg, áit a bhfuil 0 Go bunúsach, ní glas gorm nó aon nó gan aon dearg
agus ansin tá ff an luach uasta.
Tá na luachanna heicsidheachúlach.
Mar sin, ansin má tá muid ff0000, ansin fhreagraíonn sé seo don méid uasta gorm
agus ansin ní glas agus gan aon dearg, mar sin ansin a bheadh ​​a thabhairt dúinn picteilín gorm.
Ansin, má tá muid go léir ff ar fud an bord, ansin ciallaíonn sé sin go bhfuil muid picteilín bán.
Tá an cineál os coinne de ghnáth nuair a deirimid RGB. Tá sé seo ag dul i ndáiríre BGR.
>> Mar sin má tá muid ag breathnú i ndáiríre i sampla de íomhá bitmap - lig dom a tharraingt ar cheann suas anseo.
Is beag beag.
Tá mé ag zooming in, agus is féidir linn a fheiceáil tá sé pixelated. Breathnaíonn sé cosúil le bloic dath.
Tá tú bloic bán agus ansin bloic dearg.
Má tá tú ag imirt i Paint Microsoft, mar shampla, d'fhéadfaí tú a dhéanamh ar rud éigin mar sin
ag péinteáil go bunúsach ach cearnóga áirithe in ord ar leith.
Mar sin, ansin cad é seo aistríonn sa bitmap mar seo a leanas.
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,
le fios ag 0000ff.
Agus léiríonn sé sin an t-ord na mbeart atá againn gcaoi a bhfuil an íomhá bitmap dul chun breathnú.
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
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.
>> Is é an bealach go bhfuil bitmap íomhánna oibre agam envision sé go bunúsach mar eangach.
Agus mar sin de réir réamhshocraithe, tá gach sraith na heangaí a bheith iolraí de 4 bytes.
Má táimid ar íomhá bitmap, tá tú ag líonadh i ngach luach.
Mar shampla, d'fhéadfá a bheith dearg anseo, glas anseo, gorm anseo,
ach caithfidh tú a dhéanamh cinnte go bhfuil an íomhá a líonadh isteach le iolraí de cheithre bytes.
Mar sin, más mian liom mo íomhá a bheith trí bloic leathan, ansin ba mhaith liom a chur ar luach folamh
i an ceann deireanach go mbeadh sé ina iolraí de cheithre.
Mar sin, ansin ba mhaith liom a chur i rud éigin a bhfuil muid ag iarraidh stuáil.
Tá mé ag dul díreach a chur in iúl go bhfuil le x.
Anois, a rá ba mhaith linn an íomhá go bhfuil 7 pixel fada, mar shampla.
Tá 1, 2, 3, 4, 5, 6, 7,
agus tá sé ar fad a líonadh le dath.
Is é an bealach go n-oibríonn íomhánna bitmap gur gá dúinn an 8ú.
Ceart anois táimid tar éis 1, 2, 3, 4, 5, 6, 7.
Ní mór dúinn 8 spásanna don íomhá bitmap a léamh i gceart.
Mar sin, ansin cad atá againn a dhéanamh ná a chur i beagán ach de stuála
chun a chinntiú go bhfuil gach ceann de na leithid aonfhoirmeach
agus go bhfuil gach ceann de na leithid iolraí de 4.
Agus mar sin thug mé le fios roimhe seo, stuáil mar x nó líne squiggly,
ach i na híomhánna iarbhír bitmap an stuáil le fios ag 0 heicsidheachúlach.
Mar sin, bheadh ​​a bheith go carachtar aonarach; 0.
Cad é a d'fhéadfadh teacht i handy an t-ordú xxd.
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
nuair a chló mé i ndáiríre amach cad a bheadh ​​gach dath a bheith ar an picteilín
agus ansin dath-códaithe é, nuair a ritheann tú xxd leis na horduithe seo a leanas,
ansin beidh sé a phriontáil ndáiríre amach cad iad na dathanna le haghaidh na pixel.
Cad a bhfuil tú a dhéanamh ná thar anseo in iúl dom, cosúil leis an s-54
a deir go bhfuil mé ag dul chun tús a chur ag an beart 54
mar gheall ar roimh sin, cuimhnigh má táimid ar ais go dtí an léarscáil de na bitmaps,
sin uile an t-eolas header agus rudaí mar sin.
Ach cad linn cúram i ndáiríre faoi an pixel iarbhír a léiríonn an dath.
Mar sin, ag cur san bratach,-s 54, ansin tá muid in ann a fheiceáil na luachanna dath.
Agus ná bíodh imní ort faoi na bratacha agus rudaí casta mar sin.
Sa spec leagtha fhadhb, beidh sé agat ar treoracha ar conas é a úsáid xxd a chur ar taispeáint an pixel.
Mar sin, má fheiceann tú anseo, tá sé cineál cosúil le bosca glas, an rud beag.
Tá mé dath-códaithe an 00ff00 mar go bunúsach ag rá nach gorm, a lán de glas, agus ní dearg.
Mar sin, fhreagraíonn sé glas.
Mar a fheiceann tú anseo, feicimid dronuilleog glas.
Is é seo an dronuilleog glas ach 3 picteilíni leathan, mar sin ansin cad atá againn a dhéanamh
a dhéanamh cinnte go bhfuil an íomhá iolrú ar 4 leathan is atá a chur i stuáil breise.
Agus mar sin ansin mar sin a fheiceann tú na 0s anseo.
Beidh sé seo i ndáiríre mar thoradh ar do pset Resize,
go bunúsach ag cur an bitmap beag agus ansin a leathnú dó 4.
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,
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
toisc go bhfuil sé padded go hiomlán. Ní chuireann sé seomra ar bith níos mó.
>> Maith go leor. Ceisteanna ar bith faoi stuála?
Maith go leor. Cool.
>> Mar a luaigh mé cheana, tá na bitmaps ach sraith beart.
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
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.
Mar sin, cad ní mór dúinn struct RGBTRIPLE.
Aon uair a bhfuil tú go bhfuil drochriarachán ar triple RGB,
toisc go bhfuil an cineál shainmhíniú struct, ansin is féidir leat rochtain a fháil ar an athróg rgbtBlue,
céanna, na hathróga Glas agus Dearg, a leagfaidh síos cé mhéad gorm,, glas, dearg agus
faoi ​​seach, tá tú.
>> Mar sin, má táimid tar éis an leagan athróg gorm le 0, ar an leagan glas ff,
a bhfuil an luach is fearr is féidir leat a bheith acu, agus ansin a leagtar ar an athróg dearg chun 0,
ansin bheadh ​​cén dath seo go háirithe, RGB triple ionadaíocht a dhéanamh? >> [Mac léinn] Glas.
Glas. Go díreach.
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,
Is féidir leat rochtain a fháil iarbhír an méid dath - gorm, glas, agus dearg - leithligh.
>> Anois go atá againn Labhair faoi struchtúr sin, a ligean ar ghlacadh le breathnú ar an comhad BMP.
Tá na structs déanta duit.
Anseo ní mór dúinn a struct BITMAPFILEHEADER.
Is díol spéise é an méid.
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,
eadhon an méid, an leithead, agus an airde.
Mar beidh orainn dul isteach níos déanaí, nuair a léigh tú i chun an comhad,
léann sé go huathoibríoch i mar tá leagtha amach againn an t-ordú a bheith mar an gcéanna.
Mar sin, beidh an biSize bhfuil an beart ceart a fhreagraíonn do mhéid iarbhír an íomhá.
Agus ansin anseo, ar deireadh, mar atá againn Labhair faoi, ní mór dúinn an struct RGBTRIPLE Rialú an.
Tá an rgbtBlue, Green, Red agus a bhaineann leis.
>> Great. Maith go leor.
Anois go dtuigimid bitmaps le beagán, a thuiscint go mór dúinn a header comhad
agus header info bhaineann leis, agus ansin ina dhiaidh sin, ní mór dúinn an rudaí suimiúla
de na dathanna, agus na dathanna á ionadú ag structs RGBTRIPLE,
agus iad siúd, ar a seal, tá trí luach a bhaineann leis an gorm, an glas, agus an dearg.
>> Mar sin anois, is féidir linn de chineál ar smaoineamh ghnóthú faoi giotán.
Tá brón orm. Smaoinigh ar Whodunit.
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
agus ansin a athrú ar bhealach na pixel ionas gur féidir linn aschur é i bhformáid inléite.
Agus mar sin a aschur é, táimid ag dul picteilín a scríobh ag picteilín isteach an comhad verdict.bmp.
Sin de chineál ar a lán le déanamh. Tuigeann muid go.
Mar sin, cad atá déanta againn againn ar fáil i ndáiríre duit le copy.c.
Cad a dhéanann an chomhaid ach a dhéanann cóip bheacht de chomhad bitmap áirithe agus ansin aschur é.
Mar sin, osclaíonn seo cheana féin an comhad ar do shon, léann i picteilín ag picteilín,
agus scríobhann sé ansin é i isteach i aschomhad.
>> A ligean ar ghlacadh le breathnú ar sin.
Tá sé seo a chinntiú úsáid i gceart,
ag dul ar an filenames anseo.
Cad é seo a dhéanann é leagann sé an comhad ionchur a bheith cad atá againn a ritheadh ​​sa sa infile anseo,
a bhfuil ár n-an dara-orduithe líne argóint.
Seiceálacha a dhéanamh cinnte gur féidir linn an comhad a oscailt.
Seiceálacha chun a chinntiú gur féidir linn a dhéanamh ina scríobhfar an nua anseo.
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.
An tús, tá mar is eol dúinn, an BITMAPFILEHEADER,
agus mar sin beidh na sraitheanna giotán líonadh go díreach leis an BITMAPFILEHEADER.
Mar sin, cad atá againn anseo ag rá go BF BITMAPFILEHEADER -
Tá go bhfuil ár athróg nua BITMAPFILEHEADER cineál -
táimid ag dul a chur taobh istigh BF léaghthar as i pointeoir, a bhfuil ár n-infile.
Cé mhéad is féidir linn a léamh?
Léimid i cé mhéad bytes is gá dúinn a bhfuil an BITMAPFILEHEADER ar fad.
Mar an gcéanna, go bhfuil an méid a dhéanaimid le haghaidh an header info.
Mar sin, táimid ag leanúint ar aghaidh ar feadh ár n-comhad sa infile,
agus táimid ag léamh na giotán agus bearta, agus táimid ag plugging leo go díreach i
isteach sna cásanna de na hathróga sin tá muid ag déanamh.
Anseo tá muid ag déanamh ach a bheith cinnte go bhfuil an bitmap a bitmap.
>> Anois, ní mór dúinn ina scríobhfar, ceart?
Mar sin, mar atá sé nuair a chruthú dúinn é, tá sé go bunúsach folamh.
Mar sin, ní mór dúinn a chruthú go bunúsach bitmap nua ó scratch.
Céard a dhéanaimid é ní mór dúinn a dhéanamh cinnte go bhfuil cóip muid i gceanntásc an chomhaid
agus tá an header info díreach cosúil leis an infile.
Céard a dhéanaimid é muid ag scríobh - agus cuimhnigh go bhfuil BF an athróg
de BITMAPFILEHEADER cineál, mar sin cad a dhéanann muid go bhfuil muid ag úsáid ach go bhfuil ábhar
a scríobh isteach sa scríobhfar.
Anseo, cuimhnigh phléamar stuáil,
conas tá sé tábhachtach a chinntiú go bhfuil an méid pixel go bhfuil muid iolraí de 4.
Is é seo an fhoirmle go leor úsáideach a ríomh cé mhéad stuála agat
mar gheall ar an leithead do chomhad.
Ba mhaith liom tú guys a mheabhrú go bhfuil i ní féidir dí ní mór dúinn a fhoirmle chun stuáil.
Maith go leor? Mar sin, gach duine cuimhneamh go. Great.
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.
Téann sé tríd na sraitheanna chéad agus ansin siopaí gach triple go léann sé
agus scríobhann sé ansin sé isteach ar an scríobhfar.
Mar sin, ansin anseo tá muid ag léamh ach amháin RGB triple ag an am
agus a chur ansin go triple céanna isteach sa scríobhfar.
Tá an chuid is tricky go bhfuil an stuáil le triple RGB,
agus mar sin ní féidir linn a léamh ach an méid sin stuála de triples RGB.
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,
le de chineál ar scipeáil thar stuáil gach ionas go bhfuil muid ag an líne eile.
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.
Mar sin, tá muid a ríomh cé mhéad stuáil is gá dúinn,
ionas Ciallaíonn sé sin gur gá dúinn líon stuála de 0s.
Cad é seo a dhéanann é do lúb a chuireann líon stuála de 0s isteach inár scríobhfar.
Agus ansin ar deireadh, a dhúnann tú an dá comhaid. A dhúnann tú an infile chomh maith leis an scríobhfar.
>> Mar sin, go conas ní féidir dí-oibreacha,
agus tá go dul a bheith deas úsáideach.
In ionad ach i ndáiríre a chóipeáil go díreach agus a ghreamú sé
nó ag lorg díreach ar sé agus a chlóscríobh bith is mian leat,
b'fhéidir gur mhaith leat ach a fhorghníomhú an ordaithe sa chríochfort,
cp ní féidir dí whodunit.c, a chruthú comhad nua, whodunit.c,
go bhfuil an t-ábhar ceannann céanna mar a dhéanann cóip.
Mar sin, ansin cad is féidir linn a dhéanamh ná a úsáid mar chreat ar a dtógfar agus eagarthóireacht
le haghaidh ár comhad whodunit.
>> Is iad ár n-le-Tascanna a dhéanamh le haghaidh Whodunit, ach cad ní féidir dí
Tá iarbhír Bíonn cúram de chuid is mó acu dúinn.
Dá bhrí sin tá gach ní mór dúinn a dhéanamh amach romhainn athrú ar an pixel mar is gá
a dhéanamh i ndáiríre an comhad inléite.
Cuimhnigh go bhfuil do picteilín thabhairt triple, agus mar sin ar feadh athróg áirithe RGBTRIPLE cineál,
Is féidir leat rochtain a fháil gorm, glas luachanna, agus dearg.
Sin an dul chun teacht i handy mar gheall ar más féidir leat rochtain a fháil orthu,
a chiallaíonn gur féidir leat seiceáil freisin iad,
agus ciallaíonn sé sin go féidir leat athrú freisin dóibh.
>> Mar sin, nuair a chuaigh muid ar ais go dtí ár shampla formhéadúcháin dearg gloine,
go bunúsach, a bhí go gníomhú mar saghas scagaire le haghaidh dúinn.
Mar sin, cad ba mhaith linn a dhéanamh ba mhaith linn a scagadh gach ceann de na triples atá ag teacht isteach
Tá bealaí éagsúla chun seo a dhéanamh.
Go bunúsach, is féidir leat is cuma cén cineál scagaire is mian leat.
B'fhéidir gur mhaith leat a athrú gach pixel dearg
nó b'fhéidir gur mhaith leat chun picteilín dath difriúil a athrú dath difriúil.
Sin suas a thabhairt duit.
Cuimhnigh gur féidir leat a sheiceáil cén dath atá ar an picteilín
agus ansin is féidir leat athrú freisin é mar atá tú ag dul tríd.
>> Maith go leor. Mar sin, tá go Whodunit.
Nuair a ritheann tú Whodunit, beidh a fhios agat a bhí an culprit na coire.
>> Anois, táimid ag dul chun dul go dtí Athraigh.
Táimid ag dul go fóill a bheith ag déileáil le bitmaps.
Cad táimid ag dul a dhéanamh táimid ag dul a bheith acu bitmap ionchur
agus ansin táimid ag dul chun pas a fháil i roinnt agus ansin bitmap scríobhfar a fháil
i gcás é sin go bunúsach ar ár infile de réir scála le n.
Abair mo chomhad a bhí ach amháin picteilín mór.
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,
sin 3 huaire, agus ansin scála freisin sé síos 3 huaire chomh maith.
Mar sin, a fheiceann tú mé ag scálú sé go hingearach chomh maith go cothrománach.
>> Agus ansin tá anseo, mar shampla.
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
cothrománach go maith mar dhá uair go hingearach.
Agus ansin leanann ar aghaidh, agus mar sin tá tú scálú díreach de do íomhá bunaidh faoi dhó.
>> Mar sin, ansin, más rud go raibh muid go mion ar an pseudocode seo, ba mhaith linn a oscailt an comhad.
Agus a fhios agam ansin go má théann muid ar ais anseo,
feicimid go bhfuil an leithead an scríobhfar ag dul a bheith difriúil ná an leithead an infile.
Cad a chiallaíonn?
Ciallaíonn sé sin go bhfuil ár n-eolas header ag dul a athrú.
Agus mar sin cad beidh muid ag iarraidh a dhéanamh cothrom le dáta ar an eolas header,
a fhios agam go nuair a léigh muid i na comhaid má tá tú ag feidhmiú ar an gcreat ní féidir dí,
atá againn cheana féin athróg a léiríonn cad é an méid agus rudaí mar sin.
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.
Cuimhnigh, má tá tú struct, conas tú rochtain ar na hathróga laistigh.
Úsáid tú an t-oibreoir ponc, ceart?
Mar sin, ansin ag baint úsáide as, tá a fhios agat go mbainfidh tú gá a athrú ar an eolas header.
Mar sin tá anseo ach liosta de na gnéithe iarbhír ag dul a bheith ag athrú i do chomhad.
Is é an méid comhaid ag dul a bheith ag athrú, an íomhá, chomh maith leis an leithead agus airde.
Mar sin, dul ar ais ansin chuig an léarscáil de na bitmaps,
breathnú ar cé acu tá sé an header comhad nó an header eolas go bhfuil an fhaisnéis sin
agus athrú ansin mar is gá.
Arís, a rá cp ní féidir dí resize.c.
Ciallaíonn sé sin go bhfuil resize.c anois gach rud a tá ar fáil taobh istigh cóip
toisc go dtugann cóip dúinn ar bhealach na léitheoireachta sa do gach picteilín scanline ag picteilín.
Ach amháin anois, seachas díreach ag athrú na luachanna a rinne muid i Whodunit,
cad ba mhaith linn a dhéanamh ná ba mhaith linn a scríobh i pixel il
chomh fada agus is é ár n níos mó ná 1.
>> Ansin tá cad ba mhaith linn a dhéanamh ba mhaith linn a stráice sé go cothrománach ag n,
chomh maith le stráice mar atá sé go hingearach le n.
Conas a d'fhéadfadh muid é seo a dhéanamh?
Abair go bhfuil do n 2 agus tá tú seo a infile leith.
Tá do cúrsóir ag dul go dtí tús a chur ag an chéad cheann,
agus cad ba mhaith leat a dhéanamh más rud é n 2, ba mhaith leat a phriontáil i 2 de na.
Mar sin leat a phriontáil i 2 de na.
Ansin, tá do cúrsóir ag dul chun bogadh chuig an picteilín eile, a bhfuil an ceann dearg,
agus tá sé ag dul a phriontáil amach 2 de na cinn dearg, ceangal sé isteach ar cad atá sé déanta roimh.
Ansin, beidh an cúrsóir aistriú go dtí an picteilín eile agus a tharraingt i 2 de na.
Má fhéachann tú ar ais ar an gcreat ní féidir dí, cad a dhéanann an ceart seo anseo
Tá cruthaíonn sé chás nua ar triple RGB, athróg nua ar a dtugtar triple.
Agus anseo nuair a léann sé isteach é, léann sé as an 1 infile RGBTRIPLE
agus siopaí sé taobh istigh den athróg triple.
Mar sin, ansin caithfidh tú i ndáiríre athróg a ionadaíonn an picteilín ar leith.
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
go scríobhann sé isteach i do scríobhfar mar a mhéad uair mar is gá.
Sin simplí go leor.
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.
>> Ach ansin ní mór dúinn a mheabhrú go bhfuil ár stuáil dul chun athrú.
Roimhe sin, a rá go raibh muid rud éigin ar fad 3.
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.
Ach rá táimid ag scálú an íomhá seo go háirithe trí n = 2.
Mar sin, ansin cé mhéad pixel gorm againn ag an deireadh? Ba mhaith linn a bheith 6.
1, 2, 3, 4, 5, 6. Gach ceart.
Ní 6 iolraí de 4. Cad é an iolraí is gaire de 4? Sin ag dul a bheith 8.
Mar sin, táimid ag dul i ndáiríre go bhfuil 2 carachtair de stuáil ann.
>> An bhfuil aon duine cuimhneamh má táimid tar éis foirmle stuála a ríomh
agus i gcás a d'fhéadfadh a bheith?
[Fhreagra mac léinn inaudible] >> Yeah, copy.c. Ceart.
Tá foirmle i ní féidir dí a ríomh cé mhéad stuála agat
thabhairt ar leithead áirithe den íomhá bitmap.
Mar sin, ansin go ag dul a bheith úsáideach nuair is gá duit a chur i méid áirithe de stuáil
chun an figiúr iarbhír amach cé mhéad stuáil is gá duit a chur leis.
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.
Just a bheith cúramach toisc go bhfuil tú ag dul go bunúsach a bheith ag déileáil le dhá íomhá bitmap.
Ba mhaith leat a dhéanamh cinnte go bhfuil tú ag baint úsáide as an ceann ceart.
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
agus nach bhfuil an leithead an ceann roimhe sin.
>> Great. Bíonn an cineál cúram síneadh íomhá bitmap fad cothrománach.
Ach tá cad ba mhaith linn a dhéanamh síneadh sé i ndáiríre go hingearach maith.
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
agus an scríbhneoireacht go chéile, is é ár cúrsóir ag dul a bheith ag an deireadh.
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.
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
nó díreach de chineál ar cur go chéile agus ansin athscríobh arís.
Mar mé cineál tagraíodh dó, tá bealaí éagsúla chun seo a dhéanamh.
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
agus é a athrú mar is gá, ansin cineál siopa gach ceann de na pixel in eagar.
Ansin a fhios agat níos déanaí go mbainfidh tú gá a phriontáil amach go eagar arís,
agus mar sin is féidir leat é a úsáid go díreach eagar sin a dhéanamh.
Is bealach eile a dhéanamh d'fhéadfaí tú a chóipeáil síos amháin as a chéile,
a thuiscint gur gá duit a chóipeáil go arís, mar sin bogadh i ndáiríre do cúrsóir,
agus tá go dul a bheith ag baint úsáide as an modh fseek.
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.
>> 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
agus athscríobh ar líne? >> [Mac léinn] n - 1. >> Yeah, foirfe. n - 1.
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
n - 1 méid na n-amanna.
Maith go leor. Mar sin, tá tú do fheidhm athraithe méid.
>> Anois is féidir linn a fháil ar chuid spraoi i ndáiríre, mo pset is fearr leat, a bhfuil ghnóthú.
In ionad bitmaps, an uair seo táimid ag déileáil le jpeg.
Againn nach bhfuil tugtha iarbhír comhad amháin de jpeg,
táimid tugtha go bunúsach i bhformáid cárta amh chuimhne.
Agus mar sin tá sé seo le beagán de luachanna info agus truflais ar dtús,
agus ansin a thosaíonn sé agus tá sé a bunch de chomhaid JPEG.
Mar sin féin, táimid ag láimh cárta áit againn scriosadh na grianghraif;
go bunúsach, tá muid dearmad i gcás na grianghraif lonnaithe laistigh den chárta.
Mar sin, ansin is é ár tasc i ghnóthú chun dul tríd an bhformáid cárta
agus teacht ar na pictiúir arís.
>> Luckily, tá an struchtúr comhad JPEG agus an comhad cárta le beagán cabhrach.
D'fhéadfadh sé a bheith cinnte le beagán trickier más rud é nach raibh sé san fhormáid seo go háirithe.
Gach comhad JPEG a thosaíonn i ndáiríre le dhá sraitheanna is féidir, atá liostaithe thuas.
Go bunúsach, aon uair tá tú nua JPEG comhad,
Tosaíonn sé le seicheamh ceachtar an ffd8 ffe0 nó an ceann eile, ffd8 ffe1.
Is ea an rud cabhrach a fhios go jpeg a stóráil contiguously.
Mar sin, aon uair a chríochnaíonn ar cheann JPEG comhad, an ceann eile a thosaíonn.
Mar sin, nach bhfuil de chineál ar bith i-idir luachanna ann.
Nuair a bhuail tú tús le JPEG, má tá tú cheana féin a léamh JPEG,
tá a fhios agat go bhfuil tú bhuail an deireadh an ceann roimhe sin agus tús an chéad cheann eile.
>> Chun de chineál ar visualize seo, rinne mé schematic.
Tá rud eile faoi jpeg gur féidir linn iad a léamh i sraitheanna de 512 bytes ag an am,
céanna le tús an chárta.
Ní chuirimid gá iad a sheiceáil gach beart aonair mar a bheadh ​​tarraing.
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
agus ansin, in ionad a sheiceáil i idir iad siúd sna slices beag bídeach,
féidir linn a sheiceáil ach an tús an 512 bytes.
Go bunúsach, sa phictiúr seo, is é méid a fheiceann tú i tús an chárta,
tá tú luachanna nach bhfuil i ndáiríre a bhaineann leis na jpeg iarbhír féin.
Ach ansin cad tá mé réalta a chur in iúl ar cheann den dá sraitheanna tosaigh do JPEG.
Mar sin, nuair a fheiceann tú le réalta, tá a fhios agat go bhfuil tú comhad JPEG.
Agus ansin gach comhad JPEG ag dul a bheith ar roinnt iolraí de 512 bytes
ach ní gá an t-iolrú céanna.
Is é an bealach go bhfuil a fhios agat go bhfuil tú bhuail eile JPEG má bhuail tú eile réalta,
eile ord ag tosú de bytes.
Ansin tá cad tá tú anseo tá tú ar an JPEG dearg comhad leanúnach go dtí go bhuail tú le réalta,
atá léirithe ag dath nua.
Tá tú ar aghaidh agus ansin bhuail tú eile réalta, bhuail tú eile JPEG,
leanann tú an bealach ar fad go dtí an deireadh.
Tá tú ar an pictiúr seo caite anseo, an ceann bándearg.
Théann tú go dtí deireadh go dtí go bhuail tú ar deireadh an carachtar comhaid.
Tá sé seo ag dul a bheith i ndáiríre úsáideach.
>> A takeaways roinnt príomh-anseo:
Níl an comhad cárta tús a chur le JPEG,
ach nuair a thosaíonn JPEG, gach ceann de na jpeg a stóráil taobh le taobh a chéile.
>> Roinnt pseudocode don ghnóthú.
Gcéad dul síos, táimid ag dul a oscailt ár n-comhad cárta,
agus tá go dul a bheith ag baint úsáide as ár comhad I / O feidhmeanna.
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.
Táimid ag dul a léamh 512 bytes ag an am.
Agus is é an méid a dúirt mé anseo táimid ag dul chun é a stóráil i maolán,
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.
Ansin tá cad ba mhaith linn a dhéanamh ba mhaith linn a sheiceáil cibé an againn hit réalta nó nach bhfuil.
Má tá muid buailte le réalta, má tá muid bhuail ar cheann de na sraitheanna tosaigh,
ansin a fhios againn go againn hit nua JPEG comhad.
Cad beidh muid ag iarraidh é a dhéanamh táimid ag dul a iarraidh a chruthú comhad nua inár n-eolaire pset4
chun leanúint ar aghaidh ag déanamh an gcomhad sin.
Ach chomh maith, má tá déanta againn cheana féin JPEG roimh,
ansin ba mhaith linn chun deireadh a chur go comhad agus é a bhrú chun an fillteán pset4,
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,
ansin beidh orainn go bunúsach le méid éiginnte. Ní bheidh na jpeg deireadh.
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,
ba mhaith linn a dhúnadh go sonrach go bhfuil d'fhonn a oscailt an chéad cheann eile.
Beidh muid ag iarraidh a sheiceáil roinnt rudaí.
Ba mhaith linn a sheiceáil cibé an bhfuil muid ag tús a JPEG nua lenár maoláin
agus freisin má táimid a fuair cheana féin JPEG roimh
mar go mbeidh a athrú ar do phróiseas beagán.
Mar sin, ansin tar éis a théann tú tríd an mbealach ar fad agus bhuail tú ar deireadh an chomhaid,
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.
Beidh sé dócha an deireanach JPEG comhad go bhfuil tú,
chomh maith leis an comhad cárta go atá tú ag déileáil leis.
>> Is é an constaic is déanaí gur gá dúinn dul i ngleic le conas a dhéanamh i ndáiríre comhad JPEG
agus conas a bhrú i ndáiríre é an fillteán.
Éilíonn an pset go bhfuil gach JPEG go bhfaighidh tú a bheith san fhormáid seo a leanas,
áit a bhfuil tú ar an líon. jpg.
An líon, fiú má tá sé 0, tugaimid 000.jpg é.
Aon uair a fhaigheann tú ar JPEG i do chlár,
bhfuil tú ag dul a iarraidh é a ainmniú san ordú go bhfuil sé aimsithe.
Cad a chiallaíonn sé seo?
Ní mór dúinn de chineál ar súil a choinneáil ar cé mhéad againn fuair
agus cad ba chóir an uimhir gach JPEG a bheith.
Anseo táimid ag dul leas a bhaint as an bhfeidhm sprintf.
Cosúil le printf, a díreach de chineál ar priontaí luach amach ar an teirminéal,
sprintf priontaí an comhad amach ar an fillteán.
Agus mar sin cad a bheadh ​​seo a dhéanamh má bhí mé sprintf, teideal, agus ansin an teaghrán ann,
bheadh ​​sé a phriontáil amach 2.jpg.
Ag glacadh leis go bhfuil mé dúnta mo chomhaid i gceart,
a bheadh ​​go bhfuil an comhad go raibh scríobh mé amach.
Ach tá rud amháin go bhfuil an cód go bhfuil mé anseo
Ní shásamh go maith cad a éilíonn an pset.
Éilíonn an pset gur chóir go mbeadh an dara JPEG comhad a ainmniú 002 seachas díreach 2.
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.
>> An bhfuil aon duine cuimhneamh conas a chumas againn do spásanna breise nuair a phriontáil againn rud éigin?
Yeah. >> [Mac léinn] a chur tú 3 idir an comhartha faoin gcéad agus an 2. >> Yeah, foirfe.
Feicfidh tú a chur ar 3 sa chás seo mar ba mhaith linn spás le haghaidh 3.
Ba mhaith 3D% a thabhairt is dócha tú 002.jpg in ionad 2.
Is í an argóint chéad uair an fheidhm sprintf iarbhír sraith Char,
a fhios againn roimhe seo mar teaghráin.
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.
Ní bheidh tú i ndáiríre a bheith ag déileáil leis seo, ach ní mór duit a chur san áireamh.
>> A fhios agam go bhfuil gach ainm comhaid ar an líon, a thógann suas trí carachtair,
agus ansin. jpg, ba chóir go cé chomh fada leis an eagar a bheith?
Caith amach roinnt. Cé mhéad carachtair sa teideal, in ainm?
Mar sin, níl 3 hashtags, tréimhse, jpg. >> [Mac léinn] 7. >> 7. Ní leor.
Táimid ag dul go dtí gur mian 8 mar ba mhaith linn ionas gur féidir an Críochnaitheoir null chomh maith.
>> Ar deireadh, ach a tharraingt amach ar an bpróiseas go mbainfidh tú a dhéanamh do ghnóthú,
tá tú roinnt eolais tús.
Leanúint ar aghaidh leat go dtí go bhfaighidh tú tús le comhad JPEG,
agus is féidir a bheith go ceachtar ceann amháin de dhá sraitheanna ag tosú.
Tú a choinneáil ar a léamh. Is ionann gach Slais anseo 512 bytes.
Tú a choinneáil ar léamh, a choinneáil ar léamh go dtí go leat teacht ar eile ord ag tosú.
Nuair a bheidh tú go bhfuil, deireadh tú an JPEG reatha - sa chás seo, tá sé an ceann dearg,
mar sin ba mhaith leat chun deireadh a.
Ba mhaith leat a sprintf an t-ainm sin isteach i do fhillteán pset4,
ansin ba mhaith leat a oscailt JPEG nua agus ansin a choimeád ar léamh
go dtí go leat teacht ar an chéad cheann eile.
Coinnigh ar léamh, a choinneáil ar léitheoireacht,
agus ansin ar deireadh, ar deireadh thiar, tá tú ag dul chun teacht ar an deireadh comhaid,
agus mar sin beidh tú ag iarraidh a dhúnadh an JPEG seo caite go raibh tú ag obair leis,
sprintf go isteach i do fhillteán pset4, agus ansin féachaint ar gach ceann de na pictiúir go atá tú gotten.
Tá na pictiúir iarbhír pictiúir de CS50 foirne,
agus mar sin tá sé seo nuair a thagann an chuid is spraoi bónas de pset i
Tá go bhfuil tú ag iomaíocht i do rannóga a fháil ar an TFS sna pictiúir
agus pictiúir a ghlacadh leo a chruthú go atá déanta agat ar an pset
agus mar sin is féidir leat a fheiceáil atá ina gcomhaltaí foirne sna pictiúir.
Mar sin, ansin tú pictiúir a ghlacadh leis an bhfoireann. Uaireanta beidh ort a chase síos iad.
Is dócha go mbeidh cuid acu iarracht a reáchtáil ar shiúl ó leat.
Tá tú pictiúir a thógáil leo.
Tá sé seo ar siúl. Níl sé mar gheall ar nuair a bhíonn an pset dlite.
Beidh an spriocdháta a fógraíodh sa spec.
Ansin le chéile le do ailt, a thógann cibé alt ar na pictiúir is mó
Beidh leis na comhaltaí foirne is mó a bhuachan duais go leor uamhnach.
Sin de chineál ar dreasacht a fháil críochnaithe do pset4 chomh tapa agus is féidir
mar gheall ar ansin is féidir leat a fháil síos chun gnó
fiach síos gach CS50 bhaill éagsúla foirne.
Ní Sin éigeantach, ach, mar sin nuair a fhaigheann tú ar na pictiúir,
ansin tá tú críochnaithe le pset4.
>> Agus mé ag críochnaithe leis Walkthrough 4, mar sin buíochas a ghabháil libh go léir as teacht.
Ádh mór le Fóiréinsic. [Bualadh bos]
[CS50.TV]