• OpenGL_生成位图


    #encoding:utf-8
    import OpenGL.GL as gl
    import OpenGL.GLU as glu
    import OpenGL.GLUT as glut
    from random import randint

    def init():
    # 用白色清屏
    gl.glClearColor(0.0, 0.0, 0.0, 1.0)

    # 使用正投影将世界坐标系二维矩形区域的内容映射到屏幕上。
    gl.glMatrixMode(gl.GL_PROJECTION)
    glu.gluOrtho2D(0, 400, 0, 400)

    def myRandomBitmap(rows, cols, size = (10, 10)):

    # 画方格
    for row in range(rows):
    for col in range(cols):
    bit = randint(0, 1000)%2
    gl.glColor3f(bit, bit, bit)
    gl.glBegin(gl.GL_POLYGON)

    gl.glVertex2d(col*size[0], row*size[1])
    gl.glVertex2d((col+1)*size[0], row*size[1])
    gl.glVertex2d((col+1)*size[0], (row+1)*size[1])
    gl.glVertex2d(col*size[0], (row+1)*size[1])

    gl.glEnd()

    # 画左右分割线
    for row in range(rows):

    gl.glColor3f(0.5,0.5,0.5)
    gl.glBegin(gl.GL_LINES)

    gl.glVertex2d(0, row*size[1])
    gl.glVertex2d(400, row*size[1])

    gl.glVertex2d(row*size[1], 0)
    gl.glVertex2d(row*size[1], 400)
    gl.glEnd()

    def drawFunc():
    gl.glClear(gl.GL_COLOR_BUFFER_BIT)

    myRandomBitmap(10, 10, (40, 40))

    gl.glFlush()

    glut.glutInit() # 初始化 GLUT
    glut.glutInitDisplayMode(glut.GLUT_RGBA | glut.GLUT_SINGLE) # 设置显示模式
    glut.glutInitWindowPosition(400,100) # 设置 top-left 显示窗口的位置
    glut.glutInitWindowSize(600, 600) # 设置显示窗口大小,长和宽
    glut.glutCreateWindow("Second") # 创建窗口,设置名称

    init() # 初始化窗口
    glut.glutDisplayFunc(drawFunc) # 将图形送给显示窗口并显示
    glut.glutMainLoop() # 显示所有内容,并等待

  • 相关阅读:
    代码结构
    linux 启动盘制作multisystem
    cmake 各种语法的作用
    leetcode Longest Consecutive Sequence
    leetcode find kth
    leetcode twoSum
    S3pool pytorch
    数学:优化:拉格朗日乘子法
    Fisher判别分析(线性判别分析——LDA)
    数学:优化:牛顿法
  • 原文地址:https://www.cnblogs.com/wangshide/p/2423181.html
Copyright © 2020-2023  润新知