diff --git a/code/bmp.py b/code/bmp.py index 0b28047..448ff3b 100644 --- a/code/bmp.py +++ b/code/bmp.py @@ -17,7 +17,7 @@ with open(sys.argv[1]) as f: headerSize = 54 header = BMPHeader( fileData[:headerSize] ) -content = BMPContent( fileData[header.offset:], header.width, header.bpp) +content = BMPContent( fileData[header.offset:], header ) print header.bpp print diff --git a/code/classes.py b/code/classes.py index f976b8e..d6b5adf 100644 --- a/code/classes.py +++ b/code/classes.py @@ -30,7 +30,8 @@ class BMPHeader: self.colorNb = self.toInt(binHeader[46:50]) # nombre de couleurs de l'image (ou 0) self.colorINb = self.toInt(binHeader[50:54]) # nombre d'images importantes (ou 0) self.header = binHeader - + + #################################################### # classe qui parse le content (binaire) en matriceĀ # @@ -38,17 +39,15 @@ class BMPHeader: class BMPContent: # CONSTRUCTEUR: parse le content (bin) avec les informations: - # longueur de l'image (en pixels) - # nombre de bits par pixel - def __init__(self, binContent, width, bpp): + #
BMPHeader de l'image en question + def __init__(self, binContent, header): # gestion du bpp - if( bpp != 24 ): + if( header.bpp != 24 ): print "ne prends pas en charge les versions autre que bmp24"; exit - # matrice du contenu - self.map = [] + self.map = "" for byte in binContent: - self.map.append( ord(byte) ) - self.map = self.map[::-1] \ No newline at end of file + self.map += str(ord(byte)) + " " + \ No newline at end of file diff --git a/code/classes.pyc b/code/classes.pyc index 6a4e162..121bf9f 100644 Binary files a/code/classes.pyc and b/code/classes.pyc differ diff --git a/code/contentDat.algo b/code/contentDat.algo new file mode 100644 index 0000000..58dc8ba --- /dev/null +++ b/code/contentDat.algo @@ -0,0 +1,5 @@ +c = contenu binaire +w = pixels d'une ligne +h = pixels d'une colonne +b = octets par pixels +