pb padding réglé
This commit is contained in:
parent
5bffb65914
commit
16b42b7380
|
@ -11,9 +11,13 @@ import sys
|
||||||
img = BMPFile()
|
img = BMPFile()
|
||||||
img.parse( sys.argv[1] );
|
img.parse( sys.argv[1] );
|
||||||
|
|
||||||
### print header human-readable data ###
|
|
||||||
#print img.header.info()
|
|
||||||
|
|
||||||
|
### print header human-readable data ###
|
||||||
|
print img.header.info()
|
||||||
|
|
||||||
|
print
|
||||||
|
print img.content.readableData
|
||||||
|
print
|
||||||
### print file human-readable data ###
|
### print file human-readable data ###
|
||||||
#print img.readableData
|
#print img.readableData
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ class BMPHeader:
|
||||||
|
|
||||||
# CONSTRUCTEUR: initialise les variables
|
# CONSTRUCTEUR: initialise les variables
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.header = 0; # header brut (format initial: bin)
|
self.bin = 0; # header brut (format initial: bin)
|
||||||
self.signature = 0; # signature (4D42)
|
self.signature = 0; # signature (4D42)
|
||||||
self.fileSize = 0; # taille du fichier bmp (bytes)
|
self.fileSize = 0; # taille du fichier bmp (bytes)
|
||||||
self.offset = 0; # début de l'image (bytes)
|
self.offset = 0; # début de l'image (bytes)
|
||||||
|
@ -75,7 +75,12 @@ class BMPHeader:
|
||||||
print "nombre de couleur: %s" % ( hex(self.colorNb ) )
|
print "nombre de couleur: %s" % ( hex(self.colorNb ) )
|
||||||
print "nb couleurs impor: %s" % ( hex(self.colorINb ) )
|
print "nb couleurs impor: %s" % ( hex(self.colorINb ) )
|
||||||
print "====================="
|
print "====================="
|
||||||
print
|
print "INFORMATIONS COMP."
|
||||||
|
print "====================="
|
||||||
|
print "padding: %s" % ( (4- self.width*3 %4)%4 )
|
||||||
|
print "====================="
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
####################################################
|
####################################################
|
||||||
# classe qui parse le content (binaire) en matrice #
|
# classe qui parse le content (binaire) en matrice #
|
||||||
|
@ -97,20 +102,13 @@ class BMPContent:
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
# taille avec un padding de 1
|
# taille avec un padding de 1
|
||||||
correctSizes = [
|
padding = ( 4 - header.width*3 % 4 ) % 4
|
||||||
( header.width * ( 1 +header.bpp/8 ) ) * header.height, # padding de 1
|
correctSize = header.width * ( padding + header.bpp/8 ) * header.height;
|
||||||
( header.width * ( 2 + header.bpp/8 ) ) * header.height # padding de 2
|
|
||||||
]
|
|
||||||
|
|
||||||
# si le fichier a une mauvaise taille donc mauvais format
|
# si le fichier a une mauvaise taille donc mauvais format
|
||||||
padding = 0
|
if not len(binContent) == correctSize:
|
||||||
if not len(binContent) in correctSizes:
|
|
||||||
print "Mauvais format (erreur de taille)"
|
print "Mauvais format (erreur de taille)"
|
||||||
exit()
|
exit()
|
||||||
elif len(binContent) == correctSizes[0]:
|
|
||||||
padding = 1
|
|
||||||
else:
|
|
||||||
padding = 2
|
|
||||||
|
|
||||||
# attribution de la map
|
# attribution de la map
|
||||||
self.map = []
|
self.map = []
|
||||||
|
@ -139,6 +137,11 @@ class BMPContent:
|
||||||
for byte in binContent:
|
for byte in binContent:
|
||||||
self.readableData += str(ord(byte)) + " "
|
self.readableData += str(ord(byte)) + " "
|
||||||
|
|
||||||
|
|
||||||
|
# unparse une map de pixels en binaire
|
||||||
|
def unparse(self, map):
|
||||||
|
print "To Do!"
|
||||||
|
print "unparsing content and creating header"
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# classe contenant un pixel RGB #
|
# classe contenant un pixel RGB #
|
||||||
|
|
BIN
code/classes.pyc
BIN
code/classes.pyc
Binary file not shown.
Loading…
Reference in New Issue