コード例 #1
0
ファイル: control_bookmark.py プロジェクト: arasbm/pymt-apps
    def __init__(self, transform, **kwargs):
        kwargs.setdefault('info', None)
        self.view_transform = transform

        info = kwargs.get('info')
        if info is None:
            self.update_screenshot()
        else:
            self.info = info
            w, h, data = self.info
            data = b64decode(data)
            tex = Texture.create(w, h, GL_RGB, GL_UNSIGNED_BYTE)
            tex.blit_buffer(data)
            self.screenshot = Image(tex)
        self.updated = False
コード例 #2
0
ファイル: control_bookmark.py プロジェクト: arasbm/pymt-apps
def get_screen_texture(mode='back'):
    win = getWindow()
    if mode.lower() == 'front':
        glReadBuffer(GL_FRONT)
    else:
        glReadBuffer(GL_BACK)
    data = glReadPixels(0, 0, win.width, win.height, GL_RGB, GL_UNSIGNED_BYTE)

    # do a mini
    size = win.width / 10, win.height / 10
    surf = pygame.image.fromstring(data, win.size, 'RGB')
    surf = pygame.transform.scale(surf, size)
    data = pygame.image.tostring(surf, 'RGB')

    tex = Texture.create(size[0], size[1], GL_RGB, rectangle=True)
    tex.blit_buffer(data)
    return tex, [size[0], size[1], data]