màj classes.py

This commit is contained in:
xdrm-brackets 2015-09-06 18:35:58 +02:00
parent 6e8f45407c
commit 3849595953
2 changed files with 16 additions and 14 deletions

View File

@ -6,7 +6,6 @@
# classes
from classes import *
import dep
import sys
fileData = ""
@ -19,7 +18,7 @@ headerSize = 54
header = BMPHeader( fileData[:headerSize] )
content = BMPContent( fileData[header.offset:], header )
print
for line in content.map:
for pixel in line:
print "rgb(%s, %s, %s)" % (pixel.r, pixel.g, pixel.b)
print "rgb(%s, %s, %s)" % (pixel.r, pixel.g, pixel.b)
print

View File

@ -15,6 +15,7 @@ class BMPHeader:
# CONSTRUCTEUR: parse le header au format bin en objet
def __init__(self, binHeader):
self.header = binHeader # header brut (format initial: bin)
self.signature = self.toInt(binHeader[ 0: 2]) # signature (4D42)
self.fileSize = self.toInt(binHeader[ 2: 6]) # taille du fichier bmp (bytes)
self.offset = self.toInt(binHeader[10:14]) # début de l'image (bytes)
@ -29,8 +30,9 @@ class BMPHeader:
self.vertRes = self.toInt(binHeader[42:46]) # résolution verticale (pixels)
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 #
@ -45,13 +47,19 @@ class BMPContent:
print "ne prends pas en charge les versions autre que bmp24";
exit
# taille avec un padding de 1
correctSizes = [
( 0 + header.width * header.bpp/8 ) * header.height,
( 1 + header.width * header.bpp/8 ) * header.height,
( 2 + header.width * header.bpp/8 ) * header.height
]
# si le fichier a une mauvaise taille donc mauvais format
if len(binContent) != (2 + header.width * header.bpp/8 ) * header.height:
if not len(binContent) in correctSizes:
print "Mauvais format"
exit
# attribution de la map
self.map = []
i = 0
@ -81,9 +89,4 @@ class RGBPixel:
def __init__(self, r, g, b):
self.r = r
self.g = g
self.b = b
def set(self, r, g, b):
self.r = r
self.g = g
self.b = b
self.b = b