Png File Format
Png File Format

file size: 3185 [byte]
89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 *PNG********IHDR
00 00 00 53 00 00 00 53 08 06 00 00 00 e3 b2 3b ***S***S*******;
00 00 00 00 01 73 52 47 42 00 ae ce 1c e9 00 00 *****sRGB*******
06 0a 74 45 58 74 6d 78 66 69 6c 65 00 25 33 43 **tEXtmxfile*%3C
6d 78 66 69 6c 65 25 32 30 68 6f 73 74 25 33 44 mxfile%20host%3D
25 32 32 45 6c 65 63 74 72 6f 6e 25 32 32 25 32 %22Electron%22%2
30 6d 6f 64 69 66 69 65 64 25 33 44 25 32 32 32 0modified%3D%222
30 32 34 2d 31 32 2d 32 32 54 30 36 25 33 41 35 024-12-22T06%3A5
39 25 33 41 34 30 2e 32 31 39 5a 25 32 32 25 32 9%3A40.219Z%22%2
30 61 67 65 6e 74 25 33 44 25 32 32 4d 6f 7a 69 0agent%3D%22Mozi
6c 6c 61 25 32 46 35 2e 30 25 32 30 28 57 69 6e lla%2F5.0%20(Win
64 6f 77 73 25 32 30 4e 54 25 32 30 31 30 2e 30 dows%20NT%2010.0
25 33 42 25 32 30 57 69 6e 36 34 25 33 42 25 32 %3B%20Win64%3B%2
30 78 36 34 29 25 32 30 41 70 70 6c 65 57 65 62 0x64)%20AppleWeb
4b 69 74 25 32 46 35 33 37 2e 33 36 25 32 30 28 Kit%2F537.36%20(
4b 48 54 4d 4c 25 32 43 25 32 30 6c 69 6b 65 25 KHTML%2C%20like%
32 30 47 65 63 6b 6f 29 25 32 30 64 72 61 77 2e 20Gecko)%20draw.
69 6f 25 32 46 32 34 2e 35 2e 31 25 32 30 43 68 io%2F24.5.1%20Ch
72 6f 6d 65 25 32 46 31 32 34 2e 30 2e 36 33 36 rome%2F124.0.636
37 2e 32 30 37 25 32 30 45 6c 65 63 74 72 6f 6e 7.207%20Electron
25 32 46 33 30 2e 30 2e 36 25 32 30 53 61 66 61 %2F30.0.6%20Safa
72 69 25 32 46 35 33 37 2e 33 36 25 32 32 25 32 ri%2F537.36%22%2
30 65 74 61 67 25 33 44 25 32 32 33 5f 37 70 35 0etag%3D%223_7p5
6f 68 68 42 59 42 64 30 31 4a 50 4e 4f 5f 5a 25 ohhBYBd01JPNO_Z%
32 32 25 32 30 76 65 72 73 69 6f 6e 25 33 44 25 22%20version%3D%
32 32 32 34 2e 35 2e 31 25 32 32 25 32 30 74 79 2224.5.1%22%20ty
70 65 25 33 44 25 32 32 64 65 76 69 63 65 25 32 pe%3D%22device%2
32 25 32 30 73 63 61 6c 65 25 33 44 25 32 32 31 2%20scale%3D%221
25 32 32 25 32 30 62 6f 72 64 65 72 25 33 44 25 %22%20border%3D%
32 32 30 25 32 32 25 33 45 25 30 41 25 32 30 25 220%22%3E%0A%20%
32 30 25 33 43 64 69 61 67 72 61 6d 25 32 30 6e 20%3Cdiagram%20n
61 6d 65 25 33 44 25 32 32 50 61 67 65 2d 31 25 ame%3D%22Page-1%
32 32 25 32 30 69 64 25 33 44 25 32 32 39 34 71 22%20id%3D%2294q
69 31 41 4f 4b 55 5f 38 32 43 36 45 61 61 5f 38 i1AOKU_82C6Eaa_8
55 25 32 32 25 33 45 25 30 41 25 32 30 25 32 30 U%22%3E%0A%20%20
25 32 30 25 32 30 25 33 43 6d 78 47 72 61 70 68 %20%20%3CmxGraph
4d 6f 64 65 6c 25 32 30 64 78 25 33 44 25 32 32 Model%20dx%3D%22
32 39 32 25 32 32 25 32 30 64 79 25 33 44 25 32 292%22%20dy%3D%2
32 31 39 39 25 32 32 25 32 30 67 72 69 64 25 33 2199%22%20grid%3
44 25 32 32 31 25 32 32 25 32 30 67 72 69 64 53 D%221%22%20gridS
69 7a 65 25 33 44 25 32 32 31 30 25 32 32 25 32 ize%3D%2210%22%2
30 67 75 69 64 65 73 25 33 44 25 32 32 31 25 32 0guides%3D%221%2
32 25 32 30 74 6f 6f 6c 74 69 70 73 25 33 44 25 2%20tooltips%3D%
32 32 31 25 32 32 25 32 30 63 6f 6e 6e 65 63 74 221%22%20connect
25 33 44 25 32 32 31 25 32 32 25 32 30 61 72 72 %3D%221%22%20arr
6f 77 73 25 33 44 25 32 32 31 25 32 32 25 32 30 ows%3D%221%22%20
66 6f 6c 64 25 33 44 25 32 32 31 25 32 32 25 32 fold%3D%221%22%2
30 70 61 67 65 25 33 44 25 32 32 31 25 32 32 25 0page%3D%221%22%
32 30 70 61 67 65 53 63 61 6c 65 25 33 44 25 32 20pageScale%3D%2
32 31 25 32 32 25 32 30 70 61 67 65 57 69 64 74 21%22%20pageWidt
68 25 33 44 25 32 32 31 36 35 34 25 32 32 25 32 h%3D%221654%22%2
30 70 61 67 65 48 65 69 67 68 74 25 33 44 25 32 0pageHeight%3D%2
32 31 31 36 39 25 32 32 25 32 30 6d 61 74 68 25 21169%22%20math%
33 44 25 32 32 30 25 32 32 25 32 30 73 68 61 64 3D%220%22%20shad
6f 77 25 33 44 25 32 32 30 25 32 32 25 33 45 25 ow%3D%220%22%3E%
30 41 25 32 30 25 32 30 25 32 30 25 32 30 25 32 0A%20%20%20%20%2
30 25 32 30 25 33 43 72 6f 6f 74 25 33 45 25 30 0%20%3Croot%3E%0
41 25 32 30 25 32 30 25 32 30 25 32 30 25 32 30 A%20%20%20%20%20
25 32 30 25 32 30 25 32 30 25 33 43 6d 78 43 65 %20%20%20%3CmxCe
6c 6c 25 32 30 69 64 25 33 44 25 32 32 30 25 32 ll%20id%3D%220%2
32 25 32 30 25 32 46 25 33 45 25 30 41 25 32 30 2%20%2F%3E%0A%20
25 32 30 25 32 30 25 32 30 25 32 30 25 32 30 25 %20%20%20%20%20%
32 30 25 32 30 25 33 43 6d 78 43 65 6c 6c 25 32 20%20%3CmxCell%2
30 69 64 25 33 44 25 32 32 31 25 32 32 25 32 30 0id%3D%221%22%20
70 61 72 65 6e 74 25 33 44 25 32 32 30 25 32 32 parent%3D%220%22
25 32 30 25 32 46 25 33 45 25 30 41 25 32 30 25 %20%2F%3E%0A%20%
32 30 25 32 30 25 32 30 25 32 30 25 32 30 25 32 20%20%20%20%20%2
30 25 32 30 25 33 43 6d 78 43 65 6c 6c 25 32 30 0%20%3CmxCell%20
69 64 25 33 44 25 32 32 45 79 75 6e 39 36 2d 34 id%3D%22Eyun96-4
33 4e 48 73 67 5f 59 57 53 59 5f 38 2d 31 25 32 3NHsg_YWSY_8-1%2
32 25 32 30 76 61 6c 75 65 25 33 44 25 32 32 25 2%20value%3D%22%
32 32 25 32 30 73 74 79 6c 65 25 33 44 25 32 32 22%20style%3D%22
65 6c 6c 69 70 73 65 25 33 42 77 68 69 74 65 53 ellipse%3BwhiteS
70 61 63 65 25 33 44 77 72 61 70 25 33 42 68 74 pace%3Dwrap%3Bht
6d 6c 25 33 44 31 25 33 42 61 73 70 65 63 74 25 ml%3D1%3Baspect%
33 44 66 69 78 65 64 25 33 42 66 69 6c 6c 43 6f 3Dfixed%3BfillCo
6c 6f 72 25 33 44 25 32 33 30 30 30 30 46 46 25 lor%3D%230000FF%
33 42 73 74 72 6f 6b 65 57 69 64 74 68 25 33 44 3BstrokeWidth%3D
33 25 33 42 25 32 32 25 32 30 76 65 72 74 65 78 3%3B%22%20vertex
25 33 44 25 32 32 31 25 32 32 25 32 30 70 61 72 %3D%221%22%20par
65 6e 74 25 33 44 25 32 32 31 25 32 32 25 33 45 ent%3D%221%22%3E
25 30 41 25 32 30 25 32 30 25 32 30 25 32 30 25 %0A%20%20%20%20%
32 30 25 32 30 25 32 30 25 32 30 25 32 30 25 32 20%20%20%20%20%2
30 25 33 43 6d 78 47 65 6f 6d 65 74 72 79 25 32 0%3CmxGeometry%2
30 78 25 33 44 25 32 32 34 30 25 32 32 25 32 30 0x%3D%2240%22%20
79 25 33 44 25 32 32 34 30 25 32 32 25 32 30 77 y%3D%2240%22%20w
69 64 74 68 25 33 44 25 32 32 38 30 25 32 32 25 idth%3D%2280%22%
32 30 68 65 69 67 68 74 25 33 44 25 32 32 38 30 20height%3D%2280
25 32 32 25 32 30 61 73 25 33 44 25 32 32 67 65 %22%20as%3D%22ge
6f 6d 65 74 72 79 25 32 32 25 32 30 25 32 46 25 ometry%22%20%2F%
33 45 25 30 41 25 32 30 25 32 30 25 32 30 25 32 3E%0A%20%20%20%2
30 25 32 30 25 32 30 25 32 30 25 32 30 25 33 43 0%20%20%20%20%3C
25 32 46 6d 78 43 65 6c 6c 25 33 45 25 30 41 25 %2FmxCell%3E%0A%
32 30 25 32 30 25 32 30 25 32 30 25 32 30 25 32 20%20%20%20%20%2
30 25 33 43 25 32 46 72 6f 6f 74 25 33 45 25 30 0%3C%2Froot%3E%0
41 25 32 30 25 32 30 25 32 30 25 32 30 25 33 43 A%20%20%20%20%3C
25 32 46 6d 78 47 72 61 70 68 4d 6f 64 65 6c 25 %2FmxGraphModel%
33 45 25 30 41 25 32 30 25 32 30 25 33 43 25 32 3E%0A%20%20%3C%2
46 64 69 61 67 72 61 6d 25 33 45 25 30 41 25 33 Fdiagram%3E%0A%3
43 25 32 46 6d 78 66 69 6c 65 25 33 45 25 30 41 C%2Fmxfile%3E%0A
a2 ea 77 d8 00 00 06 15 49 44 41 54 78 5e ed 9d **w*****IDATx^**
6b c8 2d 53 18 c7 7f 27 22 42 14 c7 07 b7 52 a4 k*-S***'"B****R*
88 c8 2d c7 ad 88 90 22 22 e5 ae 83 43 22 45 6e **-****""***C"En
11 b9 45 c9 49 ee b9 2b 11 11 21 a2 dc 73 17 51 **E*I**+**!**s*Q
a2 14 8e 0f 2e 45 9c 88 9c 98 ff de 6b 66 d6 dc ****.E******kf**
67 cd cc 7e df 77 ef f7 59 5f de d3 d9 6b 9e 59 g**~*w**Y_***k*Y
f3 db cf 5a cf 6d cd da 4b 98 ff b6 0e b0 3b b0 ***Z*m**K*****;*
33 b0 03 b0 2d b0 05 b0 14 d8 18 58 0f 58 0b 58 3***-******X*X*X
03 fc 05 fc 06 fc 04 fc 00 7c 03 7c 09 7c 06 7c *********|*|*|*|
08 fc 33 9f 8f b3 64 9e 6e be 1f 70 28 70 20 b0 **3***d*n**p(p *
6c c0 31 bc 1d c9 7c 0d 78 09 78 73 40 b9 ad 44 l*1***|*x*xs@**D
cd 25 cc bd 80 13 80 63 80 2d 5b 8d ae 5f a7 55 *%*****c*-[**_*U
c0 53 c0 63 c0 7b fd 44 b5 bb 7a 2e 60 9e 12 4d *S*c*{*D**z.`**M
c9 e5 f5 1a b8 23 b0 2b a0 bf db 01 5b 03 9b 03 *****#*+****[***
9b 00 eb 7b b3 fc 4f e0 57 e0 47 e0 3b e0 6b e0 ***{**O*W*G*;*k*
0b e0 13 f7 b7 f2 a1 a5 b1 f7 02 0f b5 c3 d2 ad ****************
d7 24 61 9e 0d 5c e8 e8 e4 46 a7 25 f1 08 e0 10 *$a**\***F*%****
e0 00 60 d3 6e a3 cf 5c f5 0b f0 3a f0 32 f0 bc **`*n**\***:*2**
5b 52 0b 62 45 ff 16 e0 ae 01 6e 58 10 31 09 98 [R*bE*****nX*1**
9a c6 57 3a 83 92 bb e1 a9 6e a6 0b e2 a4 9b a0 **W:*****n******
6a 86 3f 58 76 23 19 ac 6b dc 32 30 d8 40 86 84 j*?Xv#**k*20*@**
b9 4d 34 27 6f 02 8e cb 8e 4e d3 f5 3c e0 ac 81 *M4'o****N**<***
34 30 f4 d9 a5 b1 77 03 b7 b9 e5 21 73 fd 13 c0 40****w****!s***
c5 c0 b7 a1 52 cb fa 0f 05 f3 f4 68 81 5b 09 6c ****R******h*[*l
90 de 64 c3 c8 53 b9 0c b8 c8 ad 79 43 0c b7 8f **d**S*****yC***
0c 79 56 37 03 d7 03 7f f8 82 56 47 0b f1 f9 d1 *yV7******VG****
42 7d 7f 1f e9 ba 76 08 98 fa da cf cc 0e e4 9c B}****v*********
48 f4 d5 f3 a4 89 4d 48 a4 a9 57 45 6e ec 1d f9 H*****MH**WEn***
8e f7 b8 e9 d3 24 a0 f2 f3 3e 30 e5 5c 3f 9c b5 *****$***>0*\?**
d2 b2 c6 5a df e7 62 4d ec fc cc ee 42 ad a9 b2 ***Z**bM****B***
8f f2 06 92 26 ab 7f b2 0b 06 82 6f d0 15 e6 3e ****&******o***>
c0 e3 59 7f 51 ca a9 6f 5b c1 ca b4 34 4d 7d cd **Y*Q**o[***4M}*
22 29 65 d2 e4 9f 1e 1f 69 c4 3b a1 4f d1 05 a6 ")e*****i*;*O***
d4 ee 19 17 e6 b9 fb dd ee 06 15 7a fb 85 d2 5f ***********z***_
4a 70 ae 3f 18 85 ad 47 39 3f ab f5 20 43 61 0a Jp*?***G9?** Ca*
e4 0b a9 fa c9 c8 48 41 0f 6b 7d c3 85 db f1 45 ******HA*k}****E
a7 90 89 71 92 da 1e 1e 02 34 04 a6 a6 f6 2b a9 ***q*****4****+*
46 ca f1 7e 3a 72 90 f7 58 b8 7c 82 47 f6 01 70 F**~:r**X*|*G**p
b4 ef f0 4b 43 0f 6e 3b e5 db c2 94 b1 51 78 e1 ***KC*n;*****Qx*
62 6a 81 94 82 2a d1 33 6b 4d fe bc 14 52 49 a9 bj*****3kM***RI*
51 d3 1a aa 30 4d 19 aa da d6 16 e6 5b a9 d5 d6 Q***0M******[***
d4 7e 75 c6 34 32 cf 48 1a 7a 90 ef 8f ca ca ef *~u*42*H*z******
3b 04 cc 9c 1f 29 8d 9c 85 35 b2 09 8d d6 50 69 ;****)***5****Pi
68 d2 1a fd d0 26 cd 54 64 73 5f 2a 6f da ad 76 h****&*Tds_*o**v
13 c0 fc e7 05 2b 7f 46 5d a4 54 07 53 b1 f6 e7 *****+*F]*T*S***
69 88 28 3f 52 4a ba d8 9a 72 0a 89 1f aa d0 73 i*(?RJ***r*****s
a7 aa 58 be 0e a6 7c 1e 97 b4 50 64 f3 e9 94 39 **X***|***Pd***9
e4 43 7d e9 f2 90 76 f1 23 25 25 47 e4 d4 17 5a *C}***v*#%%G***Z
15 4c a5 d1 9e 4c 7b ab 0a 30 0d 21 e2 50 00 f3 *L***L{**0*!*P**
72 14 7a aa ca 92 b4 63 cb d2 77 55 30 a5 86 ce r*z****c**wU0***
ef 51 b8 a5 b5 72 b1 37 45 48 49 72 44 fe 93 d4 *Q***r*7EHIrD***
35 d3 ca 60 2a 43 7e e7 b8 97 dc 20 b9 57 43 64 5**`*C~**** *WCd
c2 a7 fd cb 50 b6 49 ee 76 12 21 ad c8 67 ec cb ****P*I*v*!**g**
60 7e 95 96 1a 6e 00 2e 99 76 0a 03 8e ff 46 e0 `~***n*.*v****F*
d2 58 9e 4a 20 db fb c2 f3 30 55 fc 72 79 7e 65 *X*J ****0U*ry~e
c8 15 05 4c 53 16 68 40 6e a5 a2 64 8c 14 fd a9 ***LS*h@n**d****
a0 37 6a aa c3 24 45 ba 3c 4c 2f d2 b9 16 b8 7c *7j**$E*<L/****|
d2 a3 9b 42 f9 d7 01 57 c4 e3 ce 44 46 3e 4c d5 ***B***W***DF>L*
b5 df 4d 9f ee 67 5b 2b 4b bf 6a ad 9d 9b f9 9f **M**g[+K*j*****
ec 1d d7 e5 7d 98 b7 ba 5a 88 d3 de 07 a6 50 6b ****}***Z*****Pk
e6 6a c8 a7 f9 55 4f d5 be 2e d0 9d 7d 98 df a7 *j***UO**.**}***
59 a1 c5 ee 57 36 7d 29 19 bf 53 59 a5 ad 7c 98 Y***W6})**SY**|*
da fb f3 c6 58 84 16 58 7d 6e ad 9e 80 b2 91 49 ****X**X}n*****I
9a 6e 7f ed 6d 8a 35 d3 b3 36 8b 35 06 0f 55 9e *n**m*5**6*5**U*
4c cc 3e b2 4a 31 4c cf 8a 2b 8a 54 34 69 ad 9e L*>*J1L**+*T4i**
80 f6 84 29 aa 1c b5 91 55 17 4c ed 8f fc db ac ***)****U*L*****
78 a8 f2 14 ac fa ba 82 a9 da 8e c8 ba 5d 68 ca x************]h*
ba 59 6b 47 40 d9 b8 a4 ee be 4c 30 bd 58 fc 44 *YkG@*****L0*X*D
e0 91 76 72 ac 17 70 12 f0 68 4c 62 85 60 7a fe **vr**p**hLb*`z*
a5 c5 e2 61 3a 92 89 d5 57 0a e6 b3 c0 91 63 21 ***a:***W*****c!
66 7c c2 60 66 8c d0 73 82 f9 51 04 74 b7 b1 90 f|*`f**s**Q*t***
f7 67 bc ea 18 86 aa b9 b7 aa 98 7b c6 dd 3e 16 *g*********{**>*
4c 2f f2 d1 36 45 6d 81 b6 d6 8e 80 b6 82 ab 54 L/**6Em********T
36 6a ab 04 53 d9 4e b7 af f2 77 97 10 6e 27 ca 6j**S*N***w**n'*
7a 09 dd 46 31 86 d5 82 f9 6f 9a b4 f4 fe 69 a4 z**F1****o****i*
5a 10 50 7e 73 ed b8 df 1a c1 fc 2f bd ca fb 67 Z*P~s******/***g
0b 51 d6 45 04 d2 5c 91 69 66 2f 8d 28 6a a6 ad *Q*E**\*if/*(j**
99 9d 81 16 d7 4c b3 e6 9d 61 16 ad b9 f9 99 9d *****L***a******
61 16 fd 4c 8b 80 3a c3 2c 46 40 16 9b 77 86 59 a**L**:*,F@**w*Y
8c cd 2d 6b d4 19 66 31 6b 64 f9 cc ce 30 8b f9 **-k**f1kd***0**
4c cb b4 77 82 59 9e 69 97 28 ab 01 05 03 2d af L**w*Y*i*(****-*
01 49 8c 55 27 83 61 56 57 27 ad 6e 1e 0c b3 ba *I*U'*aVW'*n****
6e 2e 51 b6 a3 a3 35 d0 fa 1d 1d 12 63 7b 8d 5a n.Q***5*****c{*Z
c3 6c de 6b 64 bb e0 5a c1 6c b7 0b 2e 67 d5 6d *l*kd**Z*l**.g*m
7f 66 39 db 76 fb 33 75 ad ed 1c ae d5 ce b0 9d *f9*v*3u********
c3 12 65 7b da 2b 81 86 ed 69 97 18 7b db a2 14 **e{*+***i**{***
66 b7 b7 2d 24 ca de 03 2a 00 ed f6 1e 90 c4 d8 f**-$***********
1b 6a 19 98 fd de 50 93 28 7b 77 72 04 b4 ff bb *j****P*({wr****
93 92 62 6f f5 8e 60 0e f3 56 af 24 d9 fb e6 d9 **bo**`**V*$****
53 65 3a bf 6f 1e af 1a 76 12 c2 98 44 ef 93 10 Se:*o***v***D***
62 a0 76 46 c7 40 67 74 08 a8 9d 1e 33 e0 e9 31 b*vF*@gt****3**1
02 6a e7 1a 35 24 42 9a 0e 3c c9 5f 6e 27 6e d5 *j**5$B**<*_n'n*
00 0d 85 29 51 76 16 5c 05 d0 2e 30 e3 29 6f a7 ***)Qv*\**.0*)o*
14 e6 a0 76 85 19 1b 25 3b 3f d3 03 da 07 66 85 ***v***%;?****f*
1f aa ff b6 93 5d 1b 6c 55 ed c7 76 e6 f0 40 67 *****]*lU**v**@g
0e c7 94 ed 34 ec 3e ea 58 71 ad 9d d3 3e 01 a8 ****4*>*Xq***>**
f6 0b 02 13 80 6a bf 6d 31 01 a8 f6 ab 2b 13 80 *****j*m1****+**
2a 91 f6 7b 40 13 02 3b 33 bf 54 f5 3f 04 d6 99 ***{@**;3*T*?***
74 24 90 51 4b 00 00 00 00 49 45 4e 44 ae 42 60 t$*QK****IEND*B`
60 `
The dump file shown above is generated by execution of codes below.
#include
#include "MyPng.h"
int main(int args, char** argv)
{
MyStandard::MyPng image;
image.ReadFile("./images/circle.png");
image.DumpHexadecimal("./files/circle.txt", true, true);
return (0);
}
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <filesystem>
#include "MyPng.h"
namespace fs = std::filesystem;
using namespace MyStandard;
using namespace std;
using namespace fs;
MyPng::MyPng()
{
m_pData = NULL;
m_nDataSize = 0x00;
}
MyPng::MyPng(DWORD sizeX, DWORD sizeY)
{
m_pData = NULL;
m_nDataSize = 0x00;
}
MyPng::~MyPng()
{
if (m_pData)
{
delete[] m_pData;
m_pData = NULL;
}
}
int MyPng::ReadFile(string filePath)
{
ifstream file;
size_t nFileSize;
file.open(filePath, ios::in | ios::binary);
if (file.is_open() == false)
{
return (-1);
}
file.seekg(0, ios::end);
nFileSize = file.tellg();
file.seekg(0, ios::beg);
m_pData = new BYTE[nFileSize];
m_nDataSize = nFileSize;
file.read((char*)m_pData, nFileSize);
return (0);
}
int MyPng::DumpHexadecimal(string filePath, bool bDispInfo, bool bAscii)
{
ofstream file;
string strLine;
string strAscii;
stringstream ss;
QWORD pos(0);
file.open(filePath, ios::out);
if (file.is_open() == false)
return (-1);
if (bDispInfo)
{
ss.str("");
ss.clear();
ss << "file size: " + to_string(m_nDataSize) + " [byte]\n";
ss << "file path: " + filePath + "\n";
strLine = ss.str();
file.write(strLine.c_str(), strLine.size());
}
for (int n = 0; n < m_nDataSize / 16; n++)
{
strLine.clear();
strAscii.clear();
ss.str("");
ss.clear();
for (int k = 0; k < 16; k++)
{
pos = n * 16 + k;
ss << std::hex << std::setw(2) << std::setfill('0') << (int)m_pData[pos] << " ";
if(bAscii)
strAscii += IsReadable(m_pData[pos]);
}
strLine += ss.str();
strLine.erase(strLine.size() - 1, 1);
if (bAscii)
{
strLine.append("\t\t\t");
strLine.append(strAscii);
}
strLine.append("\n");
file.write(strLine.c_str(), strLine.size());
}
// last line if it exists
{
int t;
strLine.clear();
strAscii.clear();
ss.str("");
ss.clear();
for ( t = 0; t < (m_nDataSize % 16); t++)
{
ss << std::hex << std::setw(2) << std::setfill('0') << (int)m_pData[pos + t] << " ";
if (bAscii)
strAscii += IsReadable(m_pData[pos + t]);
}
for (int d = t; d < 16; d++)
{
ss << " ";
}
strLine += ss.str();
strLine.erase(strLine.size() - 1, 1);
if (bAscii)
{
strLine.append("\t\t\t");
strLine.append(strAscii);
}
strLine.append("\n");
file.write(strLine.c_str(), strLine.size());
}
return (0);
}
char MyPng::IsReadable(BYTE value)
{
if (value < 0x020 || value >= 0x7f)
{
return '*';
}
else {
return (char)value;
}
}
D:.
| main.cpp
| MyPng.cpp
| MyPng.h
| MyPng.vcxproj
| MyPng.vcxproj.filters
| MyPng.vcxproj.user
|
+---files
| circle.txt
|
+---images
| circle.png
|
\---x64