diff --git a/code/BMPFile.py b/code/BMPFile.py index 7652121..591c200 100644 --- a/code/BMPFile.py +++ b/code/BMPFile.py @@ -269,16 +269,16 @@ class RGBPixel: # gestion des différents bpp if bpp == 1: - self.intData = [ int( (r+g+b)/3 > 256/2 ) ] + self.intData = [ int( (r+g+b)/3 >= 128 ) ] self.binData = chr( self.intData[0] ) elif bpp == 4: self.intData = [ int( 16 * ((r+g+b)/3) / 256 ) ] self.binData = chr( self.intData[0] ) elif bpp == 8: - self.intData = [ int( (r+g+b) / 3 ) ] + self.intData = [ int( (r+g+b) / 3 ) ] self.binData = chr( self.intData[0] ) else: - self.intData = [ r, g, b ] + self.intData = [ r, g, b ] self.binData = chr(b) + chr(g) + chr(r) @@ -287,7 +287,8 @@ class RGBPixel: def setBin(self, binData, index, bpp=24): if bpp not in [1,4,8,24]: - self.bpp = 24 + if not hasattr(self, 'bpp'): # si l'attribut n'est pas déjà défini, alors on met la valeur par défaut + self.bpp = 24 else: self.bpp = bpp diff --git a/code/BMPFile.readme b/code/BMPFile.readme index f8967e0..5b82a33 100644 --- a/code/BMPFile.readme +++ b/code/BMPFile.readme @@ -201,10 +201,6 @@ class PixelColor(r, g, b, bpp=24): ####################################################################### ALGO: -binData="01234567890123456789012345678\0ABCD" - -i = 29.125 + .125 -bpp = 1 firstBit = int(i) + i%1.0; # retourne le rang du premier bit (pas byte) lastBit = firstBit + bpp/8.0 diff --git a/code/bmp.py b/code/bmp.py index b0a578b..d7fe2e2 100644 --- a/code/bmp.py +++ b/code/bmp.py @@ -29,24 +29,21 @@ def testFileIntegrity(): # Parsing img.parse( binFile ); + # MODIFICATIONS des pixels for line in img.content.map: for pixel in line: - print "rgb(%s, %s, %s)" % (pixel.r, pixel.g, pixel.b) - print - - # # MODIFICATIONS des pixels - # for line in img.content.map: - # for pixel in line: - # pixel.r = 255 - # pixel.g = 75 - # pixel.b = 255 + pixel.setRGB( + ( 255 - pixel.r ) % 256, + ( 255 - pixel.g ) % 256, + ( 255 - pixel.b ) % 256 + ) - # # Unparsing - # img.unparse() + # Unparsing + img.unparse() - # print img.binData + print img.binData diff --git a/code/created/noir_blanc_8.bmp b/code/created/noir_blanc_8.bmp new file mode 100644 index 0000000..4831d6e Binary files /dev/null and b/code/created/noir_blanc_8.bmp differ diff --git a/code/created/vert_rose_24.bmp b/code/created/vert_rose_24.bmp new file mode 100644 index 0000000..9c5ef02 Binary files /dev/null and b/code/created/vert_rose_24.bmp differ diff --git a/code/images/lena2.bmp b/code/images/lena2.bmp new file mode 100644 index 0000000..4116548 Binary files /dev/null and b/code/images/lena2.bmp differ