diff --git a/code/bmp.readme b/code/bmp.readme new file mode 100644 index 0000000..65c5181 --- /dev/null +++ b/code/bmp.readme @@ -0,0 +1,133 @@ +Classes: + + BMPHeader + /***************/ + /* ATTRIBUTS */ + /***************/ + + * CONTENU BRUT PARTIEL (54 premiers bytes) + - header brut (binaire) + - header format liste de (0-255) + + * STRUCTURE DU HEADER + - signature (4D42) par défaut + - taille du fichier .bmp (bytes) + 4 bytes à 0 + - début du codage de l'image (bytes) + - taille du INFO_HEADER + - longueur de l'image (pixels) + - hauteur de l'image (pixels) + - nombre de plans (défaut: 1) + - nombre de bits par pixel (1,4,8,24) + - type de compression (0=none, 1=RLE-8, 2=RLE-4) + - taille de l'image avec padding (bytes) + - résolution horizontale (pixels) + - résolution verticale (pixels) + - nombre de couleurs de l'image (ou 0) + - nombre de couleurs importantes de l'image (ou 0) + + * VALEURS CALCULEES + - taille réelle d'une ligne +padding (bytes) + - taille du padding de fin de ligne (bytes) + + /***************/ + /* METHODES */ + /***************/ + parse(binHeader=""): + Définit les attributs à partir de ou de l'argument si défini + + unparse(): + Définit , et à partir de tout les attributs de structure + + + info(type=0): + Affiche les informations du header au format humain + peut valoir 0 (valeur par défaut) pour afficher en nombre, ou 1 pour afficher en hexa + + + toInt(bytes): + Retourne les octets sous forme d'entier + + fromInt(value, size): + Retourne une chaine de bytes correspondant au binaire de value + + + + + + BMPContent + /***************/ + /* ATTRIBUTS */ + /***************/ + + * CONTENU BRUT + - matrice de pixels brut (binaire) + - matrice de pixels format liste de (0-255) + + * CONTENU EXPLOITABLE + - matrice de pixels (instance of RGBPixel) + + + /***************/ + /* METHODES */ + /***************/ + parse(binContent="", header): + Définit les attributs à partir de ou de l'argument si défini ainsi que du header + + unparse(): + Définit à partir map + + + + + + BMPFile + /***************/ + /* ATTRIBUTS */ + /***************/ + * CONTENU BRUT HEADER COMPLETS (début jusqu'aux pixels) + - header format binaire (0 à offset) + - header format list de (0-255) + - header format liste de (0x00 - 0xFF) + + * CONTENU BRUT + - contenu complet brut (binaire) + - contenu complet format liste de (0-255) + - contenu complet format liste de (0x00 - 0xFF) + + * CONTENU STRUCTURE + -
objet de type + - objet de type + + + /***************/ + /* METHODES */ + /***************/ + parse(binFile=""): + Définit les attributs à partir de ou de l'argument si défini + + unparse(header="", content=""): + Définit à partir d'un
et d'un + + + + + + + + + RGBPixel + /***************/ + /* ATTRIBUTS */ + /***************/ + - byte rouge entre 0 et 255 + - byte vert entre 0 et 255 + - byte bleu entre 0 et 255 + + + /***************/ + /* METHODES */ + /***************/ + Constructeur(r, g, b): + Définit les attributs + diff --git a/code/classes.pyc b/code/classes.pyc deleted file mode 100644 index 92a4549..0000000 Binary files a/code/classes.pyc and /dev/null differ diff --git a/code/images/blue.bmp b/code/images/blue.bmp new file mode 100644 index 0000000..0bcd5c5 Binary files /dev/null and b/code/images/blue.bmp differ diff --git a/code/images/green.bmp b/code/images/green.bmp new file mode 100644 index 0000000..48536de Binary files /dev/null and b/code/images/green.bmp differ diff --git a/code/images/modified.bmp b/code/images/modified.bmp new file mode 100644 index 0000000..3a0751c Binary files /dev/null and b/code/images/modified.bmp differ diff --git a/code/images/red.bmp b/code/images/red.bmp new file mode 100644 index 0000000..5d25b0a Binary files /dev/null and b/code/images/red.bmp differ diff --git a/code/images/rgbw.bmp b/code/images/rgbw.bmp new file mode 100644 index 0000000..1d89d2c Binary files /dev/null and b/code/images/rgbw.bmp differ diff --git a/code/images/test.bmp b/code/images/test.bmp new file mode 100644 index 0000000..0b2fe5d Binary files /dev/null and b/code/images/test.bmp differ diff --git a/code/overwrite.py b/code/overwrite.py new file mode 100644 index 0000000..a381114 --- /dev/null +++ b/code/overwrite.py @@ -0,0 +1,50 @@ +# ~*~ encoding: utf-8 ~*~ # +########################### +# TRAITEMENT D'IMAGES # +########################### + +# classes +from classes import * + +import sys + +# lecture du fichier +binFile = "" +with open( sys.argv[1] ) as file: + for byte in file.read(): + binFile += byte; + +img = BMPFile() +img.parse( binFile ); + + +### print header human-readable data ### +#print img.header.info() + +### print file human-readable data ### +#print img.readableData + +### print header human-readable data ### +#print img.header.readableData + +### print content human-readable data ### +#print img.content.readableData + + +#print img.header.binData + img.content.binData + +img.content.unparse( img.content.map ) +img.header.unparse() + + +print img.header.binData + img.content.binData + + + +#print img.hexData + + +#for line in img.content.map: +# for pixel in line: +# print "rgb(%s, %s, %s)" % (pixel.r, pixel.g, pixel.b) +# print \ No newline at end of file