monstercameron Light Poster

i had an idea to make my own file formats but... have nearly zero coding experience.
the image is just text which a program would parse and receive relevant pixel data from it(like xml based stuff). i wrote up some plan for the file:

`meta data
[(title)test image]
[(date)1,1,2010]
[(gps)25.691053,-80.306947]
[(taken by)kadak powerful cybershot d890]
[(resolution)7,2]
[(compression dictionary)34.t,a.67,c.25,d.23,]

`example [(resolution)640,480/vga] will use resolution to detect where the line ends
`a peroid is used to seperate sub-pixels and a comma is used to seperate pixels
`an uncompressed string of characters @ 143 letters

[255.255.255, 234.123.153, , 1.1.1, 255.0.0, 0.255.0, 0.0.255, 167.125.223, 250.252.255, 99.99.99, 210.210.210, 25.23.67, 25.23.67, 167.125.223,]

`color description
`white,orange,alpha/empty,black,red,green,blue,,mauve,off-white,2/3-gray,1/3-gray,dark-purple,dark-purple,mauve

`{} inside is where the difference takes place

`level 1 compression "primary colors"
`{ W }, 234.134.34, , { B , r , g , b },, 167.125.223, 250.252.254, 99.99.99, 210.210.210, 25.23.67, 25.23.67


`level 2 compression "nearest 5" to a primary color (r5 means r = 255 - 5 = 250)
`W, 234.134.34, , B,r,g,b, 167.125.223, { r5 . g3 . b1 }, 99.99.99, 210.210.210, 25.23.67, 25.23.67, 167.125.223,


`level 2.5 compression "grayscale" can be done using level three plus techniques
`W, 234.134.34, , B,r,g,b, 167.125.223,,r5.g3.b1, { W99, B210 }, 25.23.67, 25.23.67, 167.125.223,


`level 3 compression "repeating characters". see compression dictionary
`W, { 2t, 1t, t }, , B,r,g,b, { 1a , 1c , 2d },,r5.g3.b1,W99,B210, { c .d .a }, { c .d .a}, { 1a .1c .2d} ,


`level 4 "next door neighbour" if the pixel from the left has a neighbouring pixel w/ teh same value then that value of the pixel(s) to the right turns a capital N
`W,2t,1t,t,,B,r,g,b, 1a.1c.2d, r5.g3.b1,W99,B210, c.d.a, N, 1a.1c.2d,


'level 5 "upstairs neighbour" if a pixel -withing the same vertical slot- has the same value as its neighbour then the lower pixel(s) value change to capital D
`W,2t,1t,t,,B,r,g,b, 1a.1c.2d,r5.g3.b1,W99,B210, c.d.a, N,D

`level 6 "untanglement" remove some of the commas without corrupting the file...every two characters {}=missing comma
`W,2t {} 1t {} t, {} B,r,g,b,1a.1c.2d {} r5.g3.b1 {} W99,B210 {} c.d.a,N,D

`final output
`a compressed string of characters @ 50 letters
`W,2t1tt,B,r,g,b,1a.1c.2dr5.g3.b1W99,B210c.d.a,N,D

`stored in a text file w/ extension .image

`further compression can be achieved by zipping/rarring