コード例 #1
0
def screen_shot(name="screen_shot.png"):
    """window screenshot."""
    width, height = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
    data = glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE)

    import png
    png.write(open(name, "wb"), width, height, 3, data)
コード例 #2
0
def screen_shot(name="screen_shot.png"):
    """window screenshot."""
    width, height = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
    size = width * height * 3

    pixel_buffer = glGenBuffers(1)
    glBindBuffer(GL_PIXEL_PACK_BUFFER, pixel_buffer)
    glBufferData(GL_PIXEL_PACK_BUFFER, size, None, GL_STREAM_READ)

    glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, c_void_p(0))
    data = string_at(glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY), size)

    import png
    png.write(open(name, "wb"), width, height, 3, data)

    glUnmapBuffer(GL_PIXEL_PACK_BUFFER)
    glBindBuffer(GL_PIXEL_PACK_BUFFER, 0)
    glDeleteBuffers(1, [pixel_buffer])
コード例 #3
0
ファイル: pyopengl.py プロジェクト: lubosz/gst-gl-tests
def screen_shot(name="screen_shot.png"):
	"""window screenshot."""
	width, height = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
	size = width*height*3
	
	pixel_buffer = glGenBuffers(1)
	glBindBuffer(GL_PIXEL_PACK_BUFFER, pixel_buffer)
	glBufferData(GL_PIXEL_PACK_BUFFER, size, None, GL_STREAM_READ)
	
	glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, c_void_p(0))
	data = string_at(glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY), size)
	
	import png
	png.write(open(name, "wb"), width, height, 3, data)
	
	glUnmapBuffer(GL_PIXEL_PACK_BUFFER)
	glBindBuffer(GL_PIXEL_PACK_BUFFER, 0)
	glDeleteBuffers(1, [pixel_buffer])
コード例 #4
0
ファイル: __init__.py プロジェクト: kcsaff/CA
def write(filename, data, file=None, chart=(0,0)):
    if filename.endswith('.zip'):
        import native
        return native.write(filename, data, file, chart)
    elif filename.endswith('.png'):
        import png
        return png.write(filename, data, file, chart)
    elif filename.endswith('.fits'):
        import fits
        return fits.write(filename, data, file, chart)
    else:
        raise ValueError, 'Do not understand how to write file "%s"' % filename
コード例 #5
0
def main():
    eye = np.array([0, 0, -1])
    target = np.array([0, 0, 0])
    up = np.array([0, 1, 0])

    cube = Model.load_obj('icosaedron.obj')
    cube.compute_face_normals()

    w = 64
    h = 64

    os.makedirs('images', exist_ok=True)
    n = 100
    tau = 2 * math.pi
    for a in range(n):
        eye = np.array([math.sin(tau * a / n), 0, math.cos(tau * a / n)])
        im = np.zeros((h, w, 4), 'uint8')
        render(im, cube, numgl.lookat(eye, target, up))
        with open('images/{:02}.png'.format(a), 'wb') as f:
            f.write(png.write(im.tobytes(), w, h))

    out = 'out.gif'
    create_gif(sorted(glob('images/*.png')), out)
    print(out)
コード例 #6
0
ファイル: main.py プロジェクト: speyermr/Sampling
import math
import png
from drawing import blank_canvas, marker

size = 500
cycles = lambda n: n * 2 * math.pi


def plot(canvas, sample_rate):
    for x in range(size):
        v = x * cycles(2) / size
        w = math.sin(v)
        y = size // 2 + int(size // 2 * 0.9 * w)
        if x % sample_rate == 0:
            marker(canvas, x, y)


for r in [2, 5, 13, 23, 47, 57, 73, 97]:
    path = f'out.{r:02d}.png'
    canvas = blank_canvas(size)
    plot(canvas, r)
    png.write(canvas, path)
コード例 #7
0
 def geti(self):
     data = glReadPixels(10, 190, 700, 700, GL_RGBA, GL_UNSIGNED_BYTE)
     import png
     png.write(open("screen_shot.png", "wb"), 700, 700, 4, data)
コード例 #8
0
ファイル: wrmap.py プロジェクト: StephenEhmann/wrmap
 if (0):
     # color gradient testing
     valResults = {
         (0, 0): 0.0,
         (1, 0): 0.1,
         (2, 0): 0.2,
         (3, 0): 0.3,
         (4, 0): 0.4,
         (5, 0): 0.5,
         (6, 0): 0.6,
         (7, 0): 0.7,
         (8, 0): 0.8,
         (9, 0): 0.9,
         (10, 0): 1.0,
     }
     png.write(args.out, config, valResults, 11, 1)
     sys.exit(0)
 i = 0
 for loc in utils.grid(bounds, lat_steps, lng_steps):
     yi = i // lng_steps
     xi = i % lng_steps
     #print('xi = ' + str(xi) + ' yi = ' + str(yi))
     y = loc['loc']['lat']
     x = loc['loc']['lng']
     results[(y, x)] = {}
     if (1):
         if (funcRecord.get('module')):
             results[(y, x)]['val'] = evaluate_variable((y, x), data, config, args.func)
         else:
             results[(y, x)]['val'] = evaluate((y, x), data, config, funcRecord)
         valResults[(xi,yi)] = results[(y, x)]['val']