EDIT (I am sending again, cause some thing were not displayed)
data equals pygame dot image dot tostring parenthesis frame_cache , 'RGB'
parenthesis end

2018-03-11 15:48 GMT+01:00 Peter Irbizon <peterirbi...@gmail.com>:

> I found a one line solution data = pygame.image.tostring(frame_cache ,
> 'RGB') does the job
>
> 2018-03-11 7:09 GMT+01:00 Peter Irbizon <peterirbi...@gmail.com>:
>
>> 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 = cStringIO.StringIO(msg[1])
>>                 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.Pixbuf(
>>               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 = data.scale_simple(width, height,
>> gtk.gdk.INTERP_NEAREST)
>>
>>             data = data.get_pixels()
>>
>
>

Reply via email to