Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-08-16 22:02:34 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-08-16 22:02:34 (GMT)
commit58dfd3884cb769e2ffa5245a4c24b5bdecacdb70 (patch)
tree88a72d332e2ef1b77db6f8602cfdc78eec624467 /TurtleArt
parent3513d202686eec0605a0156e3aa59570a7440daf (diff)
cleaned up read_pixel code to use get_visual()
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/sprites.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/TurtleArt/sprites.py b/TurtleArt/sprites.py
index 6ecdd8d..8bbe18b 100644
--- a/TurtleArt/sprites.py
+++ b/TurtleArt/sprites.py
@@ -423,12 +423,13 @@ class Sprite:
return(-1, -1, -1, -1)
image = self.images[i].get_image(x, y, 1, 1)
pixel = image.get_pixel(0, 0)
+ visual = self.images[i].get_visual()
+ r = int((pixel & visual.red_mask) >> visual.red_shift)
+ g = int((pixel & visual.green_mask) >> visual.green_shift)
+ b = int((pixel & visual.blue_mask) >> visual.blue_shift)
+ # Rescale to 8 bits
if mode == '565':
- r = int(((pixel >> 11) & 0x1f) < 3)
- g = int(((pixel >> 5) & 0x3f) < 2)
- b = int((pixel & 0x1f) < 3)
- else:
- r = int((pixel & 0xff0000) >> 16)
- g = int((pixel & 0x00ff00) >> 8)
- b = int((pixel & 0x0000ff))
+ r = r << 3
+ g = g << 2
+ b = b << 3
return(r, g, b, 0)