diff --git a/code/BMPFile.py b/code/BMPFile.py index 2d72f51..526eb30 100644 --- a/code/BMPFile.py +++ b/code/BMPFile.py @@ -330,8 +330,8 @@ class RGBPixel: self.intData = [ int( (r+g+b) / 3 ) ] self.binData = chr( self.intData[0] ) else: - self.intData = [ b, g, r ] - self.binData = chr(b) + chr(g) + chr(r) + self.intData = [ g, b, r ] + self.binData = chr(g) + chr(b) + chr(r) def setRGB(self, r=0, g=0, b=0, x=None, y=None, bpp=24): @@ -411,7 +411,7 @@ class RGBPixel: class BMPFile: # CONSTRUCTEUR: instancie les attributs - def __init__(self): + def __init__(self, drawerBool=False): self.header = BMPHeader() self.content = BMPContent() self.binData = "" @@ -419,10 +419,13 @@ class BMPFile: self.binPalette = "" self.intPalette = [] - self.drawer = None; + self.drawerBool = drawerBool + if( self.drawerBool ): + self.drawer = None; # parse à partir de en objets et def parse(self, binFile=""): + # si on a défini le fichier if binFile == "": print " need an argument" @@ -451,10 +454,11 @@ class BMPFile: for byte in self.binPalette: self.intPalette.append( ord(byte) ) - self.drawer = Drawer( - len(self.content.map[0]), - len(self.content.map) - ); + if( self.drawerBool ): + self.drawer = Drawer( + len(self.content.map[0]), + len(self.content.map) + ); # unparse à partir d'un et d'un def unparse(self, newBpp=None): diff --git a/code/SaltAndPepper.bmp b/code/SaltAndPepper.bmp deleted file mode 100644 index 92d250c..0000000 Binary files a/code/SaltAndPepper.bmp and /dev/null differ diff --git a/code/a.bmp b/code/a.bmp new file mode 100644 index 0000000..1d89c27 Binary files /dev/null and b/code/a.bmp differ diff --git a/code/main.py b/code/main.py index 754771c..d2e312e 100644 --- a/code/main.py +++ b/code/main.py @@ -33,8 +33,8 @@ def interfaceLoop(): print "| TRAITEMENT D'IMAGE |" print "| |" print "+---------------------------+" - print "| %s |" % exactLength( sys.argv[1], 19, -1) - print "| %s |" % exactLength( sys.argv[2], 19, -1) + print "| %s |" % exactLength( sys.argv[1], 21, -1) + print "| %s |" % exactLength( sys.argv[2], 21, -1) print "+---------------------------+" print "| %s |" % exactLength("TESTS DE FICHIER", 25, 0) print "| %s |" % exactLength("", 25, 0) @@ -95,7 +95,7 @@ def interfaceLoop(): if h != "": arg2 = int(h) print startStr - testManualCreation(arg1, arg2) # teste la création d'un fichier à partir d'une matrice uniquement + testManualCreation(image1, arg1, arg2) # teste la création d'un fichier à partir d'une matrice uniquement elif action == 1: print startStr result = testFileIntegrity(image1) # teste le PARSE/UNPARSE @@ -230,12 +230,17 @@ def interfaceLoop(): print '- [PRESS ANY KEY TO CONTINUE] -'; print '- [ BUT PRESS "Q" TO QUIT ] -'; - loopKey = raw_input('- [ OR PRESS "R" TO RELOAD ] -'); + print '- [ OR PRESS "R" TO RELOAD ] -'; + loopKey = raw_input('- [ OR PRESS "S" TO SAVE ] -'); if( loopKey == 'q' or loopKey == 'Q' ): exit(); elif( loopKey == 'r' or loopKey == 'R' ): loadFiles(); + elif( loopKey == 's' or loopKey == 'S' ): + out = raw_input("out file: "); + image1.unparse(); + image1.write(out); interfaceLoop(); @@ -270,15 +275,17 @@ print "| |" print "+---------------------------+" # ON CREE LES IMAGES -image1, file1 = BMPFile(), ""; +image1, file1 = BMPFile(True), ""; image2, file2 = BMPFile(), ""; with open( sys.argv[1] ) as file: file1 += file.read(); - -with open( sys.argv[2] ) as file: - file2 += file.read() +try: + with open( sys.argv[2] ) as file: + file2 += file.read() +except Exception as e: + print e; def loadFiles(): image1.parse( file1 ); @@ -288,10 +295,11 @@ def loadFiles(): image1.drawer.setPixel( pix ); image1.drawer.refresh(); - try: + if( file2 != "" ): image2.parse( file2 ); - except Exception as e: - print e; + + + loadFiles(); interfaceLoop(); diff --git a/code/new.bmp b/code/new.bmp index aaf8cbc..a0f03af 100644 Binary files a/code/new.bmp and b/code/new.bmp differ diff --git a/code/new2.bmp b/code/new2.bmp deleted file mode 100644 index 11bec7d..0000000 Binary files a/code/new2.bmp and /dev/null differ diff --git a/code/tests.py b/code/tests.py index 287b38f..25cac74 100644 --- a/code/tests.py +++ b/code/tests.py @@ -10,6 +10,7 @@ from tests import * from utility import Drawer import random +import os import sys import time from math import log @@ -98,14 +99,14 @@ def defaultTest(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -121,33 +122,34 @@ def defaultTest(img): # @history # Unparse une matrice de pixels aléatoire de taille 100x100 # L'enregistre dans le fichier de sortie -def testManualCreation(width=100, height=100): +def testManualCreation(img, width=100, height=100): t = Timer(); - - d = Drawer(width, height); # AFFICHAGE print "| Creating Image |",; t.reset(); - img = BMPFile() + img.content.map = []; + img.drawer.setSize(width, height); for y in range(0, height): img.content.map.append( [] ) for x in range(0, width): img.content.map[y].append( RGBPixel( - random.randint(0, 255), - random.randint(0, 255), - random.randint(0, 255), + r=random.randint(0, 255), + g=random.randint(0, 255), + b=random.randint(0, 255), + x=x, + y=y, bpp=24 ) ); - d.setPixel( (x, y), (img.content.map[y][x].r, img.content.map[y][x].g, img.content.map[y][x].b) ); + img.drawer.setPixel( img.content.map[y][x] ); - img.unparse(); + # img.unparse(); print "%s |" % (t.get()) - print "| Writing Image |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # print "| Writing Image |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -177,7 +179,7 @@ def testFileIntegrity(img): # A = BMPFile(); # Instanciation du BMPFile - # # Parsing + # Parsing # print "| Parsing file |",; t.reset(); # A.parse( binFile ); # print "%s |" % (t.get()) @@ -191,7 +193,7 @@ def testFileIntegrity(img): # Writing print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) + img.write( "parseUnparseTest.bmp" ) print "%s |" % (t.get()) @@ -199,15 +201,19 @@ def testFileIntegrity(img): # lecture du fichier print "| Reading Image |",; t.reset(); - with open( sys.argv[2] ) as file: + with open( "parseUnparseTest.bmp" ) as file: binFile = file.read() print "%s |" % (t.get()) + os.remove("parseUnparseTest.bmp"); # suppression de l'image + # Parsing print "| Parsing file |",; t.reset(); B.parse( binFile ); print "%s |" % (t.get()) + img.drawer.fill( img.content.map ); + returnValue += "\n\n\n" + B.header.info(); return returnValue; @@ -288,14 +294,14 @@ def testSaltAndPepper(img, seuilSet=50, seuilUnset=1, borneUnset=1, smooth=1): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( "SaltAndPepper.bmp" ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( "SaltAndPepper.bmp" ) + # print "%s |" % (t.get()) @@ -310,14 +316,14 @@ def testSaltAndPepper(img, seuilSet=50, seuilUnset=1, borneUnset=1, smooth=1): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -365,14 +371,14 @@ def testAdditiveBernouilliNoise(img, seuilA=10, seuilB=35): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( "AdditiveBernouilli.bmp" ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( "AdditiveBernouilli.bmp" ) + # print "%s |" % (t.get()) @@ -383,14 +389,14 @@ def testAdditiveBernouilliNoise(img, seuilA=10, seuilB=35): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -440,14 +446,14 @@ def testAdditiveGaussianNoise(img, sigma=10, seuil=35): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( "AdditiveGaussian.bmp" ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( "AdditiveGaussian.bmp" ) + # print "%s |" % (t.get()) @@ -462,14 +468,14 @@ def testAdditiveGaussianNoise(img, sigma=10, seuil=35): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -615,7 +621,7 @@ def printSNR(image, model): # Parse A et B # Créer une matrice de pixels # Unparse cette matrice et l'enregistre dans le fichier "compare.bmp" -def imageForImageQuality(imgae1, image2): +def imageForImageQuality(image, model): t = Timer(); # imageFile, modelFile = "", "" # image, model = BMPFile(), BMPFile() @@ -657,15 +663,17 @@ def imageForImageQuality(imgae1, image2): 255 - abs( image.content.map[y][x].b - model.content.map[y][x].b ) ) ) print "%s |" % (t.get()) - - print "| Unparsing |",; t.reset(); - newImg.unparse(); - print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open("compare.bmp", "w") as f: - f.write( newImg.binData ); - print "%s |" % (t.get()) + image.drawer.fill( newImg.content.map ); + + # print "| Unparsing |",; t.reset(); + # newImg.unparse(); + # print "%s |" % (t.get()) + + # print "| Writing File |",; t.reset(); + # with open("compare.bmp", "w") as f: + # f.write( newImg.binData ); + # print "%s |" % (t.get()) @@ -723,24 +731,25 @@ def mergeImagesAdditive(A, B): newImg.content.map.append( [] ); for aPix, bPix in zip(lineA, lineB): newImg.content.map[aPix.y].append( RGBPixel( - ( aPix.r + bPix.r ) / 2, # moyenne du rouge - ( aPix.g + bPix.g ) / 2, # moyenne du vert - ( aPix.b + bPix.b ) / 2, # moyenne du bleu + r = ( aPix.r + bPix.r ) / 2, # moyenne du rouge + g = ( aPix.g + bPix.g ) / 2, # moyenne du vert + b = ( aPix.b + bPix.b ) / 2, # moyenne du bleu x = aPix.x, y = aPix.y, bpp = aPix.bpp ) ) + A.drawer.setPixel( newImg.content.map[aPix.y][aPix.x] ); print "%s |" % (t.get()) - - print "| Unparsing |",; t.reset(); - newImg.unparse(newBpp=24); - print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open("mergeAdd.bmp", "w") as f: - f.write( newImg.binData ); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # newImg.unparse(newBpp=24); + # print "%s |" % (t.get()) + + # print "| Writing File |",; t.reset(); + # with open("mergeAdd.bmp", "w") as f: + # f.write( newImg.binData ); + # print "%s |" % (t.get()) @@ -805,17 +814,20 @@ def mergeImagesSubstractive(A, B): y = aPix.y, bpp = aPix.bpp ) ) + A.drawer.setPixel( newImg.content.map[aPix.y][aPix.x] ); print "%s |" % (t.get()) + + A.content.map = newImg.content.map; - print "| Unparsing |",; t.reset(); - newImg.unparse(newBpp=24); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # newImg.unparse(newBpp=24); + # print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open("mergeSub.bmp", "w") as f: - f.write( newImg.binData ); - print "%s |" % (t.get()) + # print "| Writing File |",; t.reset(); + # with open("mergeSub.bmp", "w") as f: + # f.write( newImg.binData ); + # print "%s |" % (t.get()) @@ -879,14 +891,14 @@ def revealShapes(img, red=0,green=0,blue=0, seuil=50): img.drawer.setPixel( pixel ); print "%s |" % (t.get()) - print "| Unparsing |",; t.reset(); - img.unparse(newBpp=24); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # img.unparse(newBpp=24); + # print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open( sys.argv[2], "w") as f: - f.write( img.binData ); - print "%s |" % (t.get()) + # print "| Writing File |",; t.reset(); + # with open( sys.argv[2], "w") as f: + # f.write( img.binData ); + # print "%s |" % (t.get()) @@ -939,14 +951,14 @@ def colorShape(img, x=0, y=0): - print "| Unparsing |",; t.reset(); - img.unparse(newBpp=24); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # img.unparse(newBpp=24); + # print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open( sys.argv[2], "w") as f: - f.write( img.binData ); - print "%s |" % (t.get()) + # print "| Writing File |",; t.reset(); + # with open( sys.argv[2], "w") as f: + # f.write( img.binData ); + # print "%s |" % (t.get()) @@ -1004,14 +1016,14 @@ def colorAllShapes(img): - print "| Unparsing |",; t.reset(); - img.unparse(newBpp=24); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # img.unparse(newBpp=24); + # print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open( sys.argv[2], "w") as f: - f.write( img.binData ); - print "%s |" % (t.get()) + # print "| Writing File |",; t.reset(); + # with open( sys.argv[2], "w") as f: + # f.write( img.binData ); + # print "%s |" % (t.get()) @@ -1066,14 +1078,14 @@ def testStroke(img): - print "| Unparsing |",; t.reset(); - img.unparse(newBpp=24); - print "%s |" % (t.get()) + # print "| Unparsing |",; t.reset(); + # img.unparse(newBpp=24); + # print "%s |" % (t.get()) - print "| Writing File |",; t.reset(); - with open( sys.argv[2], "w") as f: - f.write( img.binData ); - print "%s |" % (t.get()) + # print "| Writing File |",; t.reset(); + # with open( sys.argv[2], "w") as f: + # f.write( img.binData ); + # print "%s |" % (t.get()) @@ -1124,14 +1136,14 @@ def testAverageFilter(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1179,14 +1191,14 @@ def testLaplace(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1224,14 +1236,14 @@ def testRoberts(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1272,14 +1284,14 @@ def testPrewitt(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1322,14 +1334,14 @@ def testSobel(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1382,14 +1394,14 @@ def testConvolution(img): print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1413,24 +1425,24 @@ def testConvolution(img): # Parse le fichier d'origine # Applique le filtre # Unparse l'image et l'enregistre dans le fichier de sortie -def testBichrome(): +def testBichrome(img): t = Timer(); # lecture du fichier - print "| Reading Image |",; t.reset(); - with open( sys.argv[1] ) as file: - binFile = file.read() - print "%s |" % (t.get()) + # print "| Reading Image |",; t.reset(); + # with open( sys.argv[1] ) as file: + # binFile = file.read() + # print "%s |" % (t.get()) - img = BMPFile(); # Instanciation du BMPFile + # img = BMPFile(); # Instanciation du BMPFile - # Parsing - print "| Parsing file |",; t.reset(); - img.parse( binFile ); - print "%s |" % (t.get()) + # # Parsing + # print "| Parsing file |",; t.reset(); + # img.parse( binFile ); + # print "%s |" % (t.get()) print "| Application du filtre |",; t.reset(); @@ -1441,17 +1453,20 @@ def testBichrome(): 255*int( (pixel.r+pixel.g+pixel.b)/3 >= 128 ), 255*int( (pixel.r+pixel.g+pixel.b)/3 >= 128 ) ) + img.drawer.setPixel( pixel ); + img.drawer.refresh(); print "%s |" % (t.get()) + # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) @@ -1471,39 +1486,39 @@ def testBichrome(): # Parse le fichier d'origine # Applique le filtre # Unparse l'image et l'enregistre dans le fichier de sortie -def testHighPass(): +def testHighPass(img): t = Timer(); # lecture du fichier - print "| Reading Image |",; t.reset(); - with open( sys.argv[1] ) as file: - binFile = file.read() - print "%s |" % (t.get()) + # print "| Reading Image |",; t.reset(); + # with open( sys.argv[1] ) as file: + # binFile = file.read() + # print "%s |" % (t.get()) - img = BMPFile(); # Instanciation du BMPFile + # img = BMPFile(); # Instanciation du BMPFile - # Parsing - print "| Parsing file |",; t.reset(); - img.parse( binFile ); - print "%s |" % (t.get()) + # # Parsing + # print "| Parsing file |",; t.reset(); + # img.parse( binFile ); + # print "%s |" % (t.get()) print "| Application du filtre |",; t.reset(); - img.content.map = FX.Filter.HighPass(img.content.map); + img.content.map = FX.Filter.HighPass(img.drawer, img.content.map); print "%s |" % (t.get()) # Unparsing - print "| Unparsing file |",; t.reset(); - img.unparse() - print "%s |" % (t.get()) + # print "| Unparsing file |",; t.reset(); + # img.unparse() + # print "%s |" % (t.get()) - # image to stdout - print "| Writing file |",; t.reset(); - img.write( sys.argv[2] ) - print "%s |" % (t.get()) + # # image to stdout + # print "| Writing file |",; t.reset(); + # img.write( sys.argv[2] ) + # print "%s |" % (t.get()) diff --git a/code/utility/Drawer.py b/code/utility/Drawer.py index d800400..bc5fab3 100644 --- a/code/utility/Drawer.py +++ b/code/utility/Drawer.py @@ -12,6 +12,9 @@ class Drawer(): self.count = 0; + def setSize(self, width, height): + self.__init__(width, height); + # remet le compteur à zéro def reset(self): self.count = 0; @@ -24,7 +27,7 @@ class Drawer(): # dessine un pixel de type RGBPixel(BMPFile) def setPixel(self, rgbpix): - self.screen.set_at( (rgbpix.x, rgbpix.y), (rgbpix.r, rgbpix.g, rgbpix.b) ); + self.screen.set_at( (rgbpix.x, rgbpix.y), (rgbpix.r, rgbpix.b, rgbpix.g) ); self.count = (self.count + 1) % self.width; # incrémente le compteur if( self.count >= self.width-1 ): # si le compteur a fait une ligne complète