Exemple #1
0
def load_image(path):
    surface = pygame.image.load(path)

    width, height = surface.get_size()

    Bpp = surface.get_bytesize()
    bpp = surface.get_bitsize()

    pygame_buffer = surface.get_buffer()

    buffer = create_string_buffer(pygame_buffer.raw, pygame_buffer.length)

    image = TextureImage()

    image.width = width
    image.height = height

    image.level = 0
    image.storage = RGBA  #FIXME: don't assume either
    image.type = UNSIGNED_BYTE  #FIXME: don't assume 32 bit RGBA
    image.format = RGBA  #FIXME: don't assume 32 bit RGBA
    image.border = 0

    image.data = buffer

    return image
Exemple #2
0
def load_image(path):
    surface = pygame.image.load(path)

    width, height = surface.get_size()

    Bpp = surface.get_bytesize()
    bpp = surface.get_bitsize()

    pygame_buffer = surface.get_buffer()

    buffer = create_string_buffer(pygame_buffer.raw, pygame_buffer.length)

    image = TextureImage()

    image.width = width
    image.height = height

    image.level = 0
    image.storage = RGBA        #FIXME: don't assume either
    image.type = UNSIGNED_BYTE  #FIXME: don't assume 32 bit RGBA
    image.format = RGBA         #FIXME: don't assume 32 bit RGBA
    image.border = 0

    image.data = buffer

    return image
Exemple #3
0
def checkerboard_teximage(w, h, primary=(255, 0, 255), secondary=(0, 0, 0)):
    assert not w % 2
    assert not h % 2
    image = TextureImage()

    image.width = w
    image.height = h

    image.level = 0
    image.storage = c_int(3)
    image.format = RGB
    image.type = UNSIGNED_BYTE
    image.border = 0

    size = w * h * 3

    pairs = Cycle([primary + secondary, secondary + primary])
    data = ''.join(
        [pack('BBBBBB', *(pairs.next())) * (w / 2) for line in xrange(h)])

    image.data = create_string_buffer(data, size)

    return image
Exemple #4
0
def checkerboard_teximage(w, h, primary=(255, 0, 255), secondary=(0, 0, 0)):
    assert not w % 2
    assert not h % 2
    image = TextureImage()

    image.width = w
    image.height = h

    image.level = 0
    image.storage = c_int(3)
    image.format = RGB
    image.type = UNSIGNED_BYTE
    image.border = 0

    size = w * h * 3

    pairs = Cycle([primary + secondary, secondary + primary])
    data = ''.join([pack('BBBBBB', *(pairs.next())) * (w / 2) for line in xrange(h)])

    image.data = create_string_buffer(data, size)

    return image