Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@sugarlabs.org>2010-12-05 03:24:36 (GMT)
committer Gonzalo Odiard <godiard@sugarlabs.org>2010-12-05 03:24:36 (GMT)
commit5ddde9d8119e70c9ba2698086784cd504757608b (patch)
treedbfa2ad12abb5770f7a35fc85c31d88ba8c54b26
parent4676bf91fcb79a602110f1fe6c6a5759eab3502f (diff)
Fix invert colors in F11 - OLPC #2495
-rw-r--r--Area.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/Area.py b/Area.py
index 23841c3..c9fef1a 100644
--- a/Area.py
+++ b/Area.py
@@ -69,7 +69,6 @@ import os
import tempfile
import math
import pango
-import numpy
from fill import *
from Desenho import Desenho
from urlparse import urlparse
@@ -961,11 +960,23 @@ class Area(gtk.DrawingArea):
pix.get_from_drawable(self.pixmap, gtk.gdk.colormap_get_system(),
0, 0, 0, 0, width, height)
- pix_manip2 = pix.get_pixels_array()
- pix_manip = numpy.ones(pix_manip2.shape, dtype=numpy.uint8) * 255
- pix_manip2 = pix_manip - pix_manip2
- pix = gtk.gdk.pixbuf_new_from_array(pix_manip2, gtk.gdk.COLORSPACE_RGB,
- 8)
+ try:
+ import numpy
+ pix_manip2 = pix.get_pixels_array()
+ pix_manip = numpy.ones(pix_manip2.shape, dtype=numpy.uint8) * 255
+ pix_manip2 = pix_manip - pix_manip2
+ pix = gtk.gdk.pixbuf_new_from_array(pix_manip2,
+ gtk.gdk.COLORSPACE_RGB, 8)
+ except:
+ import string
+ a = pix.get_pixels()
+ b = len(a) * ['\0']
+ for i in range(len(a)):
+ b[i] = chr(255 - ord(a[i]))
+ buff = string.join(b, '')
+ pix = gtk.gdk.pixbuf_new_from_data(buff, pix.get_colorspace(),
+ pix.get_has_alpha(), pix.get_bits_per_sample(),
+ pix.get_width(), pix.get_height(), pix.get_rowstride())
if self.selmove:
self.pixmap_sel.draw_pixbuf(self.gc, pix, 0, 0, 0, 0,