Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V2
Login / opret bruger

Forum \ Software \ Operativsystemer

Metadata for en PNG fil

Af Juniorbruger EmilFrederiksen | 03-12-2018 02:38 | 1100 visninger | 14 svar, hop til seneste
Hej allesammen Mine spørgsmål tager udgangspunkt i NTFS på en HDD 1) Kan man godt sige, at en PNG fil er opbygget af to dele, filens metadata og selve filens indhold? 2) Når man åbner en PNG fil og trykker gem, hvad ændres først? Filens metadata? Selve indholdet? Begge ændres samtidig? Tak på forhånd for jeres svar :)
--
#1
SShadowS
Guru
03-12-2018 06:32

Rapporter til Admin
Lav din lektier selv.
--
6700K|Maximus VIII Extreme|32GB RAM Gainward1080-GS|XL2410T|U28D590D Samsung960 PRO 512GB|Samsung 850 PRO 512GB Samsung850 EVO 250GB|Corsair AX860i
#2
EmilFrederiksen
Juniorbruger
07-12-2018 01:31

Rapporter til Admin
#2 Det har intet med undervisning eller arbejde at gøre. Jeg er færdiguddannet, inden for et andet fagområde. Det bunder i nysgerrighed og vidensbegær.
--
Sidst redigeret 07-12-2018 01:31
#3
EmilFrederiksen
Juniorbruger
07-12-2018 01:45

Rapporter til Admin
Ved nærmere undersøgelse, kan jeg konkludere, det drejer sig om, hvorledes metadata er placeret i start eller slutningen af filen Nogen der kender til meta datas placering i en PNG fil?
--
#4
Wut
Super Supporter
07-12-2018 08:06

Rapporter til Admin
#3 Æhm, jeg googlede "png file format specification" og fik som første hit den her: https://www.w3.org[...] Der er alt i, hvad du nogensinde har lyst til at vide om PNG-filer. Til dit andet spørgsmål: PNG-filen forberedes i RAM, og skrives som de fleste andre flade filer af Windows med "first byte first" i en strøm ned på disken.
--
#5
EmilFrederiksen
Juniorbruger
10-12-2018 02:28

Rapporter til Admin
#4 Tak for det gode fund Ja, det med RAM har jeg forstået. Det var bare, hvilken del der bliver skrevet først til disk.
--
#6
Sven Bent
Junior Nørd
10-12-2018 04:24

Rapporter til Admin
Igen Du bliver noed til at definer hvilket meta data du taler om. Dine spoergsmaall blande rundt paa tingene Der er NTFS meta data ( rettigheder. compression flag skrivebeksels flag osv osv og det er PNGfil meta data (dato infromation. billed type. palette information, gamma info osv osv) #3 et klar goer det saa lidt og ja jeg goer en hel del - De foereste 8 bytes in en png fil er en png signature. som kun er til for at identifire filen som varende png - resten af fileen er delt op i klumer som kaldets chunkg - den forerste chunk SKAL vare IHDR som indeholder information om billed som .fkes pxiels storre og bit dybde - derneast kommer typisk en tEXt chunk som indeholder "menneskelig information" som f.eks data stempling. eller hvilket progrem der har lavet filen - tIME er naeste som indeholder dato for sidste rettelse/gemning af file - PHYs er naeste og indehollder PPI/DPI information. altsa information om hvor stor billeder skal vaere i den virkelige verden - gAMA indehodler gamma information som indeholder hvor staert "lys kurven" er I filen ( hvor met lyser billeder bliver for hver foregelse i nummer vaerdien. Det er nemlig ikke linaerts - PLTE indehodler palletten dvs de 256 farve koder i 24bits format i et palette billed som kun bruger 8 bits per pixel - IDAT (der kan vare flere) indeholder selve billed information i komprimeret form - IEND Slutning af filen Der er mange flere chunks typer derude men det er lige dem som jeg kan huske i hovedet deruove som sideinformaiton saa kan hvert linie i et png format blive for fitlret med 5 forskellige delta filter 0 = ingen filterein 1= tidligered ( dvs der skriver kun forskellen fra den tidliger pixels til den nye pixels 2 = up ( der skriver kun forskellen fra dne pixels der er paa linine ovenover) 3 = gennemsnits ( her skriver forskellen tild gennmsnit af tiligerpixels og pixlen fra linien ovenover) 4 = path (som bruger gennsits af tidelig pixels + pixels fra ovenstaadne liner + tdilgier pixels paa ovenstaende liner) hver line bliver saa pre-pended med en filter byte som fortaller hvilket delta filter der skal bruges til lige netop denne linie der skal do huske paa at der arbedjs bytevis og ikke pixels viss dvs der blvier udragner for hvert 8bits. slevon en pixles bruger 24 32 eller kun 4 bits. saa det er ikke helt korrekt at henvise til det som pixels Derefter bliver der langt en omgang deflate komprimering paa er staerktere and den lz77 eller lzw der er i gif ( jeg kan ikek huske hvilken gif bruger) hvis du skal have en illustration i hvordan delta filtrering hjaelper paa komprimering siger du bare til
--
Sven Bent - Dr. Diagnostic www.TechCenter.[...] - Home of Project Mercury
#7
Sven Bent
Junior Nørd
10-12-2018 04:27

Rapporter til Admin
besluttedm ig for at vise delte filterin alligevel lad as antage du har en raake pixels med foelgende vaerdier 128 129 130 131 132 133 134 135 saa er de her ikke et eneste ens tal saa komprimering er svaert delta filter goer er vi istedet udregner forskelle (delta fra tidliger vaerdi ) saa istedet bliver det til 128 1 1 1 1 1 1 1 en simple kompriemrng metode er RLE ( findes ogsaa i png men sjaeldet brugt) hvor vi istedet for at skriver alle tal individuel saa skriver vi det som en indkobs lsite hvor vi skriver antal og saa veardiesn saa de ville see saaledes ud 1 128 7 1 altsa 1 antal af veridne 128 og 7 gange skal vi have vaerdien 1 Som du kan se uden delta filtrering ville vores komprimering slet ikke have virket da vi slet ikke have nogle ens vaerdier
--
Sven Bent - Dr. Diagnostic www.TechCenter.[...] - Home of Project Mercury
#8
EmilFrederiksen
Juniorbruger
15-12-2018 02:01

Rapporter til Admin
#6 #7 Rigtig mange tak for dine gode indlæg Sven Bent Så konklusionen er, at metadataen vedrørende time stamps, den bliver skrevet før selve "billedet" / filens indhold (IDAT) Når man arbejder med filen, det der er loaded i memory, hvilke fil-dele er der så tale om? Er det kun IDAT?
--
#9
EmilFrederiksen
Juniorbruger
15-12-2018 03:02

Rapporter til Admin
#6 #7 Med reference til den anden tråd omkring GEM og GEM SOM Når man trykker GEM, skriver den så alle chunks igen på disken? Eftersom der er tale om at filen skrives igen et andet fysisk sted.
--
#10
inckie
Monster Nørd
15-12-2018 17:20

Rapporter til Admin
#9 Her er PNG reference biblioteket http://www.libpng.org[...] (prøv f.eks. at læse png_write / png_write_row i pngwrite.c) Hvis du tjekker de sidste par linjer i close metoden, i dette C++ PNG bibliotek, kan du se et eksempel på hvordan libpng bruges: https://github.com[...] Software er opbygget af lag, så det kan faktisk være ekstremt svært at fortælle dig præcis hvad der sker hele vejen fra du trykker på GEM knappen til der skrives bits på et storage device i din computer. Der kan muligvis også blive klogere på PNG/libpng, ved at læse manualen: http://www.libpng.org[...] og se kode eksempler.
--
https://twitter.com[...] - Ned med #lurerSørenPape
--
Sidst redigeret 15-12-2018 17:23
#11
EmilFrederiksen
Semibruger
18-01-2019 13:24

Rapporter til Admin
Filernes placering i Windows Hvor ligger denne data? Har prøvet at læse og forståyderligere omkring NTFS http://ntfs.com[...] Sven Bent skrev i en anden tråd: https://www.hardwareonline.dk[...] nej fil tabbel er data omraadde der ligger typiski starten ( atl efter filsystem) og indeholder index over hvor dine filer er set det som en lille database hvor dne har fogledne information FileA.png cluster 12345 cluster 15365 ? cluster 62345 cluster 22385 cluster 12885 cluster 12460 cluster 15345 cluster 42345 Kan man sige, at dette index er ”genveje” eller ”tråde” ud, og fortæller hvor de forskellige clusters med data tilknyttet filen ligger på disken? Dette index indgår i filtabelen. Men hvad hedder det på NTFS master file table? De forskellige chunks for PNG, hvad hedder de på NTFS master file table? Hvilke chunks indeholder data for billedet? Mange tak for jeres svar :)
--
#12
EXIA
Nørd
18-01-2019 13:32

Rapporter til Admin
Definer din metadata - det er jo data om data. Der er teknisk/strukturelle metadata og vejledende metadata. Det første sker typisk automatisk mens det andet involverer en manuel indblanding.
--
PC1-Ci7 [email protected]|GTX 1080Ti SLi|MSI X99S|32GB 2666MHz] PC2-Ci7 [email protected]|RTX 2080|MSI X99S|32GB 2666MHz] PC3-PhII X4 955|GTX 1050Ti|16GB 1333MHz]
--
Sidst redigeret 18-01-2019 13:32
#13
Sven Bent
Semi Nørd
18-01-2019 17:08

Rapporter til Admin
#9 ja. fil gemmnigns operation forstaar ikek png metadata som andet end blot data der skal skrives til disken Kan man sige, at dette index er ”genveje” eller ”tråde” ud, og fortæller hvor de forskellige clusters med data tilknyttet filen ligger på disken? Ja Det er helt bogstaveligt en liste med clusters der har de data som filen indeholder De forskellige chunks for PNG, hvad hedder de på NTFS master file table? de heder ikke noget paa filtablen. de er en del af filen .saa de datte ligger altsaa i de cluster som filen er. NTFS/FAT er kun intereste omkring handter ad filen som lagerings og ikke den indholder. den kender ikke forskelle paa om filen er png eller PCM eller BMP eller en DLL. Det er alle blot filers Hvilke chunks indeholder data for billedet? IDAT indeholder vaeridens for hvert pixels i billed.. men i komprimeret form
--
Sven Bent - Dr. Diagnostic www.TechCenter.[...] - Home of Project Mercury
--
Sidst redigeret 18-01-2019 17:09
#14
EmilFrederiksen
Semibruger
06-02-2019 15:12

Rapporter til Admin
#13 Når du skriver filtabel, mener du så master file table i NTFS? Eller som at filtabel og index det samme? Der er blevet skrevet rigtig mange ting og brugt mangeforskellige ord Er denne opsummering korrekt: Filen er alt der står i MFT (master file table) I MFT indgår index over clusters Chunks indgår i clusters Eller hvordan skal det hele forstås?
--

Opret svar til indlægget: Metadata for en PNG fil

Grundet øget spam aktivitet fra udlandet, er det desværre ikke muligt for dig, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning