# Class pyglet.image.ColorBufferImage

    AbstractImage --+
                    |
          BufferImage --+
                        |
                       ColorBufferImage

A color framebuffer.

This class is used to wrap both the primary color buffer (i.e., the back buffer) or any one of the auxilliary buffers.

## Methods

Texture | get_texture(self, rectangle=False) A Texture view of this image.
| blit_to_texture(self, target, level, x, y, z) Draw this image on the currently bound texture at `target`.
| __init__(self, x, y, width, height) (Inherited from pyglet.image.BufferImage)
| __repr__(self) (Inherited from pyglet.image.AbstractImage)
| blit(self, x, y, z=0) Draw this image to the active framebuffers. (Inherited from pyglet.image.AbstractImage)
| blit_into(self, source, x, y, z) Draw `source` on this image. (Inherited from pyglet.image.AbstractImage)
ImageData | get_image_data(self) Get an ImageData view of this image. (Inherited from pyglet.image.BufferImage)
Texture | get_mipmapped_texture(self) Retrieve a Texture instance with all mipmap levels filled in. (Inherited from pyglet.image.AbstractImage)
AbstractImage | get_region(self, x, y, width, height) Retrieve a rectangular region of this image. (Inherited from pyglet.image.BufferImage)
| save(self, filename=None, file=None, encoder=None) Save this image to a file. (Inherited from pyglet.image.AbstractImage)

## Properties

ImageData | image_data An ImageData view of this image. (Inherited from pyglet.image.AbstractImage)
Texture | mipmapped_texture A Texture view of this image. (Inherited from pyglet.image.AbstractImage)
Texture | texture Get a Texture view of this image. (Inherited from pyglet.image.AbstractImage)

## Instance Variables

int | anchor_x = `0` X coordinate of anchor, relative to left edge of image data (Inherited from pyglet.image.AbstractImage)
int | anchor_y = `0` Y coordinate of anchor, relative to bottom edge of image data (Inherited from pyglet.image.AbstractImage)
int | height Height of image (Inherited from pyglet.image.AbstractImage)
int | width Width of image (Inherited from pyglet.image.AbstractImage)

## Class Variables

| gl_format = `6408` The OpenGL format constant for image data.
| format = ``'``RGBA``'`` The format string used for image data.
| gl_buffer = `1029` The OpenGL read and write target for this buffer. (Inherited from pyglet.image.BufferImage)
| owner = `None` (Inherited from pyglet.image.BufferImage)

## Method Details

### get_texture

get_texture(self, rectangle=False)

A Texture view of this image.

By default, textures are created with dimensions that are powers of two. Smaller images will return a TextureRegion that covers just the image portion of the larger texture. This restriction is required on older video cards, and for compressed textures, or where texture repeat modes will be used, or where mipmapping is desired.

If the `rectangle` parameter is `True`, this restriction is ignored and a texture the size of the image may be created if the driver supports the `GL_ARB_texture_rectangle` or `GL_NV_texture_rectangle` extensions. If the extensions are not present or the image already is a texture, the `rectangle` parameter is ignored.

Examine Texture.target to determine if the returned texture is a rectangle (`GL_TEXTURE_RECTANGLE_ARB` or `GL_TEXTURE_RECTANGLE_NV`) or not (`GL_TEXTURE_2D`).

Changes to the returned instance may or may not be reflected in this image.

Returns: Texture
Overrides:
  AbstractImage.get_texture

Since: pyglet 1.1

### blit_to_texture

blit_to_texture(self, target, level, x, y, z)

Draw this image on the currently bound texture at `target`.

This image is copied into the texture such that this image's anchor point is aligned with the given `x` and `y` coordinates of the destination texture. If the currently bound texture is a 3D texture, the `z` coordinate gives the image slice to blit into.

Overrides:
  AbstractImage.blit_to_texture