[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] convert pygame image load surface to gtk get_pixels



Hi there,

I have Code1 and at the end I want co continue with Code2 (both codes are included here). In Code2 I am doing data conversion with get_pixels(). I am trying take last_frame or frame_cache data in pygame code1 and then I want to do get_pixels() on it to get the same data format as in Code2 - or to use any function in pygame to get the same dataformat as from gtk get_pixels().

Any idea please how to do it in my Code1 with pygame or how to combine both codes and use gtk get_pixels() function for conversion?


Code 1:
        #we will process only one frame at the time
        msgs = self.cap.read()
        msgl = len(msgs)
        if msgl:
            msg = msgs[msgl - 1]
            cmd = msg[0]

            if cmd == "data":
                data = "">
                last_frame = pygame.image.load(data)
                self.frame_update = True

        for msg in self.adb.read():
            cmd = msg[0]
            if cmd == "end":
                self.exit()

        self.menu_loop()

        if self.frame_update:
            self.frame_update = False

            if last_frame is not None:
                if self.landscape:       
                    a = last_frame.subsurface(pygame.Rect((0,0), self.sizel))
                else:
                    a = last_frame.subsurface(pygame.Rect((0,0), self.sizep))

                aw, ah = a.get_size()
                if aw != self.proj[2] or ah != self.proj[3]:
                    frame_cache = pygame.transform.smoothscale(a, (self.proj[2], self.proj[3]))
                else:
                    frame_cache = a.copy()

            self.screen_update = True

        if self.screen_update:
            self.screen.fill((0, 0, 0))   
            self.screen_update = False
            self.screen.blit(frame_cache, (self.proj[0], self.proj[1]))   
            if self.show_menu:
                self.screen.blit(self.img_menu, (0, 0))
            if self.show_nav:
                self.screen.blit(self.img_nav, (self.size[0] - self.nav_w, 0))

            pygame.display.update() #here i need to change it for gtk get_pixels


Code 2:
            img_width = 160
            img_height = 120

            data = "">
              gtk.gdk.COLORSPACE_RGB,
              False,
              8,
              img_width,
              img_height 
            )  
            data.get_from_drawable(
              gtk.gdk.get_default_root_window(),
              gtk.gdk.colormap_get_system(),
              280, 228, 0, 0, 
              img_width, 
              img_height 
            )
            data = "" height, gtk.gdk.INTERP_NEAREST)

            data = "">