Skip to content

Commit 2056712

Browse files
authored
Merge pull request #2 from dvx/master
Added padding support
2 parents 1d92372 + 7e1fdb5 commit 2056712

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

bitmap/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,10 +222,16 @@ def getPixels(self):
222222
223223
print(a.getPixels()[0][0])
224224
"""
225-
array = np.array(list(self.raw[Image(self.raw).__getBytesAwayFromColorTable():]))
226-
grid = array.reshape(-1, Image.getBitmapWidth(self), 3)
227-
self.grid = grid.tolist()
228-
return grid.tolist()
225+
padding = ((Image.getBitmapWidth(self) * 3) - (Image.getBitmapWidth(self) * 3) % 4 + 4) - (Image.getBitmapWidth(self) * 3) if Image.getBitmapWidth(self) * 3 % 4 != 0 else 0
226+
dataStart = Image(self.raw).__getBytesAwayFromColorTable()
227+
dataEnd = Image(self.raw).__getBytesAwayFromColorTable() + (Image.getBitmapWidth(self) * Image.getBitmapHeight(self) * 3) + (Image.getBitmapHeight(self) * padding)
228+
array = np.array(list(self.raw[dataStart:dataEnd]))
229+
lines = array.reshape(Image.getBitmapHeight(self), -1)
230+
for line in lines:
231+
# ignore the end-of-line padding when generating grid and get pixel color data
232+
cleanLine = line[:Image.getBitmapWidth(self) * 3].reshape(Image.getBitmapWidth(self), 3)
233+
self.grid = self.grid + [cleanLine.tolist()]
234+
return self.grid
229235

230236
# -------------------------------------------------------------------------
231237
# HIGHER LEVEL

0 commit comments

Comments
 (0)