# Class pyglet.image.AbstractImage

Known Subclasses:
  BufferImage, CompressedImageData, Texture, ImageData, ImageGrid

Abstract class representing an image.

## Methods

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

## Properties

ImageData | image_data An ImageData view of this image.
Texture | texture Get a Texture view of this image.
Texture | mipmapped_texture A Texture view of this image.

## Instance Variables

int | anchor_x = `0` X coordinate of anchor, relative to left edge of image data
int | anchor_y = `0` Y coordinate of anchor, relative to bottom edge of image data
int | height Height of image
int | width Width of image

## Method Details

### get_image_data

get_image_data(self)

Get an ImageData view of this image.

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

Returns: ImageData

Since: pyglet 1.1

### 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.

Parameters:
  rectangle : bool
    True if the texture can be created as a rectangle.
Returns: Texture

Since: pyglet 1.1

### get_mipmapped_texture

get_mipmapped_texture(self)

Retrieve a Texture instance with all mipmap levels filled in.

Requires that image dimensions be powers of 2.

Returns: Texture

Since: pyglet 1.1

### get_region

get_region(self, x, y, width, height)
Retrieve a rectangular region of this image.

Parameters:
  x : int
    Left edge of region.
  y : int
    Bottom edge of region.
  width : int
    Width of region.
  height : int
    Height of region.
Returns: AbstractImage

### save

save(self, filename=None, file=None, encoder=None)
Save this image to a file.

Parameters:
  filename : str
    Used to set the image file format, and to open the output file if `file` is unspecified.
  file : file-like object or None
    File to write image data to.
  encoder : ImageEncoder or None
    If unspecified, all encoders matching the filename extension are tried. If all fail, the exception from the first one attempted is raised.

### blit

blit(self, x, y, z=0)

Draw this image to the active framebuffers.

The image will be drawn with the lower-left corner at (`x -` anchor_x, `y -` anchor_y, `z`).

### blit_into

blit_into(self, source, x, y, z)

Draw `source` on this image.

`source` will be copied into this image such that its anchor point is aligned with the `x` and `y` parameters. If this image is a 3D texture, the `z` coordinate gives the image slice to copy into.

Note that if `source` is larger than this image (or the positioning would cause the copy to go out of bounds) then you must pass a region of `source` to this method, typically using get_region().

### blit_to_texture

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

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.

## Property Details

### image_data

An ImageData view of this image.

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

Deprecated: Use get_image_data.

Type:
  ImageData

### texture

Get a Texture view of this image.

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

Deprecated: Use get_texture.

Type:
  Texture

### mipmapped_texture

A Texture view of this image.

The returned Texture will have mipmaps filled in for all levels. Requires that image dimensions be powers of 2. Read-only.

Deprecated: Use get_mipmapped_texture.

Type:
  Texture