Image

Inherits: Resource < Reference < Object

Tipo de datos de imagen.

Descripción

Native image datatype. Contains image data which can be converted to an ImageTexture and provides commonly used image processing methods. The maximum width and height for an Image are MAX_WIDTH and MAX_HEIGHT.

An Image cannot be assigned to a texture property of an object directly (such as Sprite), and has to be converted manually to an ImageTexture first.

Note: The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images may fail to import.

Tutoriales

Propiedades

Dictionary

data

{"data": PoolByteArray(  ),"format": "Lum8","height": 0,"mipmaps": false,"width": 0}

Métodos

void

blend_rect ( Image src, Rect2 src_rect, Vector2 dst )

void

blend_rect_mask ( Image src, Image mask, Rect2 src_rect, Vector2 dst )

void

blit_rect ( Image src, Rect2 src_rect, Vector2 dst )

void

blit_rect_mask ( Image src, Image mask, Rect2 src_rect, Vector2 dst )

void

bumpmap_to_normalmap ( float bump_scale=1.0 )

void

clear_mipmaps ( )

Error

compress ( CompressMode mode, CompressSource source, float lossy_quality )

void

convert ( Format format )

void

copy_from ( Image src )

void

create ( int width, int height, bool use_mipmaps, Format format )

void

create_from_data ( int width, int height, bool use_mipmaps, Format format, PoolByteArray data )

void

crop ( int width, int height )

Error

decompress ( )

AlphaMode

detect_alpha ( ) const

void

expand_x2_hq2x ( )

void

fill ( Color color )

void

fill_rect ( Rect2 rect, Color color )

void

fix_alpha_edges ( )

void

flip_x ( )

void

flip_y ( )

Error

generate_mipmaps ( bool renormalize=false )

PoolByteArray

get_data ( ) const

Format

get_format ( ) const

int

get_height ( ) const

int

get_mipmap_offset ( int mipmap ) const

Color

get_pixel ( int x, int y ) const

Color

get_pixelv ( Vector2 src ) const

Image

get_rect ( Rect2 rect ) const

Vector2

get_size ( ) const

Rect2

get_used_rect ( ) const

int

get_width ( ) const

bool

has_mipmaps ( ) const

bool

is_compressed ( ) const

bool

is_empty ( ) const

bool

is_invisible ( ) const

Error

load ( String path )

Error

load_bmp_from_buffer ( PoolByteArray buffer )

Error

load_jpg_from_buffer ( PoolByteArray buffer )

Error

load_png_from_buffer ( PoolByteArray buffer )

Error

load_tga_from_buffer ( PoolByteArray buffer )

Error

load_webp_from_buffer ( PoolByteArray buffer )

void

lock ( )

void

normalmap_to_xy ( )

void

premultiply_alpha ( )

void

resize ( int width, int height, Interpolation interpolation=1 )

void

resize_to_po2 ( bool square=false, Interpolation interpolation=1 )

Image

rgbe_to_srgb ( )

Error

save_exr ( String path, bool grayscale=false ) const

Error

save_png ( String path ) const

PoolByteArray

save_png_to_buffer ( ) const

void

set_pixel ( int x, int y, Color color )

void

set_pixelv ( Vector2 dst, Color color )

void

shrink_x2 ( )

void

srgb_to_linear ( )

void

unlock ( )

Enumeraciones

enum Format:

  • FORMAT_L8 = 0 --- Formato de textura con una única profundidad de 8 bits que representa la luminancia.

  • FORMAT_LA8 = 1 --- Formato de textura OpenGL con dos valores, luminancia y alfa, cada uno almacenado con 8 bits.

  • FORMAT_R8 = 2 --- OpenGL texture format RED with a single component and a bitdepth of 8.

Note: When using the GLES2 backend, this uses the alpha channel instead of the red channel for storage.

  • FORMAT_RG8 = 3 --- Formato de textura OpenGL RG con dos componentes y una profundidad de bits de 8 para cada uno.

  • FORMAT_RGB8 = 4 --- Formato de textura OpenGL RGB con tres componentes, cada uno con una profundidad de 8 bits.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_RGBA8 = 5 --- Formato de textura OpenGL RGB con tres componentes, cada uno con una profundidad de 8 bits.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_RGBA4444 = 6 --- Formato de textura OpenGL RGBA con cuatro componentes, cada uno con una profundidad de bits de 4.

  • FORMAT_RGBA5551 = 7 --- OpenGL texture format GL_RGB5_A1 where 5 bits of depth for each component of RGB and one bit for alpha.

  • FORMAT_RF = 8 --- Formato de textura OpenGL GL_R32F donde hay un componente, un valor de 32 bits de punto flotante.

  • FORMAT_RGF = 9 --- Formato de textura OpenGL GL_RG32F donde hay dos componentes, cada uno con valores de 32 bits de real.

  • FORMAT_RGBF = 10 --- Formato de textura OpenGL GL_RGB32F donde hay tres componentes, cada uno con valores de 32 bits real.

  • FORMAT_RGBAF = 11 --- Formato de textura OpenGL GL_RGBA32F donde hay cuatro componentes, cada uno con valores de 32 bits real.

  • FORMAT_RH = 12 --- Formato de textura OpenGL GL_R32F donde hay un componente, un valor de punto flotante de 16 bits de "media precisión" real.

  • FORMAT_RGH = 13 --- Formato de textura OpenGL GL_RG32F donde hay dos componentes, cada uno un valor de 16 bits de "media precisión" real.

  • FORMAT_RGBH = 14 --- Formato de textura OpenGL GL_RGB32F donde hay tres componentes, cada uno de ellos un valor de 16 bits de "media precisión" real.

  • FORMAT_RGBAH = 15 --- Formato de textura OpenGL GL_RGBA32F donde hay cuatro componentes, cada uno de ellos un valor de 16 bits de "media precisión" real.

  • FORMAT_RGBE9995 = 16 --- Un formato especial de textura OpenGL donde los tres componentes de color tienen 9 bits de precisión y los tres comparten un único exponente de 5 bits.

  • FORMAT_DXT1 = 17 --- El formato de textura S3TC que utiliza la Compresión de Bloque 1, y es la variación más pequeña de S3TC, sólo proporciona 1 bit de datos alfa y de color siendo premultiplicado con alfa.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_DXT3 = 18 --- El formato de textura S3TC que utiliza la Compresión de Bloque 2, y los datos de color se interpretan como que no han sido premultiplicados por el alfa. Es muy adecuado para imágenes con transiciones alfa nítidas entre áreas translúcidas y opacas.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_DXT5 = 19 --- El formato de textura S3TC también conocido como Compresión de Bloque 3 o BC3 que contiene 64 bits de datos de canal alfa seguidos de 64 bits de datos de color codificados en DXT1. Los datos de color no son premultiplicados por el alfa, igual que el DXT3. DXT5 generalmente produce resultados superiores para gradientes transparentes en comparación con DXT3.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_RGTC_R = 20 --- Formato de textura que utiliza Compresión de textura rojo-verde, normalizando los datos del canal rojo utilizando el mismo algoritmo de compresión que DXT5 utiliza para el canal alfa.

  • FORMAT_RGTC_RG = 21 --- Formato de textura que utiliza Compresión de textura rojo-verde, normalizando los datos de los canales rojo y verde utilizando el mismo algoritmo de compresión que DXT5 utiliza para el canal alfa.

  • FORMAT_BPTC_RGBA = 22 --- Formato de textura que utiliza la compresión BPTC con componentes RGBA normalizados sin signo.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_BPTC_RGBF = 23 --- Formato de textura que utiliza la compresión BPTC con componentes RGB reales firmados.

  • FORMAT_BPTC_RGBFU = 24 --- Formato de textura que utiliza la compresión BPTC con componentes RGB reales sin firmar.

  • FORMAT_PVRTC2 = 25 --- El formato de textura usado en las plataformas móviles soportadas por PowerVR, usa una profundidad de color de 2 bits sin alfa. Más información puede ser encontrada aquí.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

Nota: Al crear una ImageTexture, se realiza una conversión del espacio de color sRGB a lineal.

  • FORMAT_MAX = 37 --- Representa el tamaño del enum Format.


enum Interpolation:

  • INTERPOLATE_NEAREST = 0 --- Realiza la interpolación del vecino más cercano. Si se cambia el tamaño de la imagen, será pixelada.

  • INTERPOLATE_BILINEAR = 1 --- Realiza una interpolación bilineal. Si se cambia el tamaño de la imagen, será borrosa. Este modo es más rápido que INTERPOLATE_CUBIC, pero da como resultado una menor calidad.

  • INTERPOLATE_CUBIC = 2 --- Realiza una interpolación cúbica. Si se cambia el tamaño de la imagen, será borrosa. Este modo a menudo da mejores resultados en comparación con INTERPOLATE_BILINEAR, a costa de ser más lento.

  • INTERPOLATE_TRILINEAR = 3 --- Performs bilinear separately on the two most-suited mipmap levels, then linearly interpolates between them.

It's slower than INTERPOLATE_BILINEAR, but produces higher-quality results with far fewer aliasing artifacts.

If the image does not have mipmaps, they will be generated and used internally, but no mipmaps will be generated on the resulting image.

Note: If you intend to scale multiple copies of the original image, it's better to call generate_mipmaps] on it in advance, to avoid wasting processing power in generating them again and again.

On the other hand, if the image already has mipmaps, they will be used, and a new set will be generated for the resulting image.

  • INTERPOLATE_LANCZOS = 4 --- Realiza la interpolación de Lanczos. Es el modo de redimensionamiento de imágenes más lento, pero suele dar los mejores resultados, especialmente cuando se reducen las imágenes.


enum AlphaMode:

  • ALPHA_NONE = 0 --- La imagen no tiene alfa.

  • ALPHA_BIT = 1 --- La imagen almacena el alfa en un solo bit.

  • ALPHA_BLEND = 2 --- La imagen usa el alfa.


enum CompressMode:

  • COMPRESS_S3TC = 0 --- Use la compresión S3TC.

  • COMPRESS_PVRTC2 = 1 --- Use la compresión PVRTC2.

  • COMPRESS_PVRTC4 = 2 --- Use la compresión PVRTC4.

  • COMPRESS_ETC = 3 --- Use la compresión ETC.

  • COMPRESS_ETC2 = 4 --- Use la compresión ETC2.


enum CompressSource:

  • COMPRESS_SOURCE_GENERIC = 0 --- La textura de la fuente (antes de la compresión) es una textura regular. Por defecto para todas las texturas.

  • COMPRESS_SOURCE_SRGB = 1 --- La textura de la fuente (antes de la compresión) está en el espacio sRGB.

  • COMPRESS_SOURCE_NORMAL = 2 --- La textura de la fuente (antes de la compresión) es una textura normal (por ejemplo, puede ser comprimida en dos canales).

Constantes

  • MAX_WIDTH = 16384 --- El ancho máximo permitido para los recursos Image.

  • MAX_HEIGHT = 16384 --- La altura máxima permitida para los recursos Image.

Descripciones de Propiedades

Default

{"data": PoolByteArray(  ),"format": "Lum8","height": 0,"mipmaps": false,"width": 0}

Holds all the image's color data in a given format. See Format constants.

Descripciones de Métodos

Mezcla usando Alfa src_rect de la imagen src a esta imagen en las coordenadas dest.


Mezcla usando alfasrc_rect de la imagen src a esta imagen usando la imagen mask en las coordenadas dst. Se requieren canales alfa tanto para src como para mask. Los píxeles de dst y los píxeles de src se mezclarán si el valor alfa del píxel de la máscara correspondiente no es 0. La imagen src y la imagen mask ** deben** tener el mismo tamaño (ancho y alto) pero pueden tener formatos diferentes.


Copia src_rect de la imagen src a esta imagen en las coordenadas dst.


src_rect área de bits de la imagen src a esta imagen en las coordenadas dadas por dst. El pixel de src se copia en dst si el valor alfa del pixel correspondiente de mask no es 0. La imagen src y la imagen mask deben tener el mismo tamaño (anchura y altura) pero pueden tener formatos diferentes.


  • void bumpmap_to_normalmap ( float bump_scale=1.0 )

Convierte un bumpmap en un mapa normal. Un bumpmap proporciona un desplazamiento de altura por píxel, mientras que un mapa normal proporciona una dirección normal por píxel.


  • void clear_mipmaps ( )

Elimina los mipmaps de la imagen.


Comprime la imagen para usar menos memoria. No se puede acceder directamente a los datos de los píxeles mientras la imagen está comprimida. Devuelve el error si el modo de compresión elegido no está disponible. Vea las constantes CompressMode y CompressSource.


  • void convert ( Format format )

Convierte el formato de la imagen. Ver las constantes Format.


  • void copy_from ( Image src )

Copia la imagen src a esta imagen.


Crea una imagen vacía de un tamaño y formato determinados. Ver las constantes Format. Si use_mipmaps es true entonces genera mipmaps para esta imagen. Ver el generate_mipmaps.


Crea una nueva imagen de un tamaño y formato determinado. Ver las constantes Format. Llena la imagen con los datos en bruto dados. Si use_mipmaps es true entonces carga los mipmaps de esta imagen a partir de data. Ver generate_mipmaps.


  • void crop ( int width, int height )

Recorta la imagen al width y alto dados. Si el tamaño especificado es mayor que el actual, el área extra se rellena con píxeles negros.


Descomprime la imagen si está comprimida. Devuelve un error si la función de descompresión no está disponible.


Devuelve ALPHA_BLEND si la imagen tiene datos para valores alfa. Devuelve ALPHA_BIT si todos los valores alfa están almacenados en un solo bit. Devuelve ALPHA_NONE si no se encuentran datos para valores alfa.


  • void expand_x2_hq2x ( )

Stretches the image and enlarges it by a factor of 2. No interpolation is done.


  • void fill ( Color color )

Fills the image with color.


Fills rect with color.


  • void fix_alpha_edges ( )

Mezcla píxeles con el nivel alfa bajo con píxeles cercanos.


  • void flip_x ( )

Voltea la imagen horizontalmente.


  • void flip_y ( )

Voltea la imagen verticalmente.


  • Error generate_mipmaps ( bool renormalize=false )

Generates mipmaps for the image. Mipmaps are precalculated lower-resolution copies of the image that are automatically used if the image needs to be scaled down when rendered. They help improve image quality and performance when rendering. This method returns an error if the image is compressed, in a custom format, or if the image's width/height is 0.

Note: Mipmap generation is done on the CPU, is single-threaded and is always done on the main thread. This means generating mipmaps will result in noticeable stuttering during gameplay, even if generate_mipmaps is called from a Thread.


Returns a copy of the image's raw data.


Devuelve el formato de la imagen. Ver las constantes Format.


  • int get_height ( ) const

Devuelve la altura de la imagen.


  • int get_mipmap_offset ( int mipmap ) const

Devuelve el desplazamiento donde el mipmap de la imagen con el índice mipmap se almacena en el diccionario data.


Returns the color of the pixel at (x, y) if the image is locked. If the image is unlocked, it always returns a Color with the value (0, 0, 0, 1.0). This is the same as get_pixelv, but two integer arguments instead of a Vector2 argument.


Returns the color of the pixel at src if the image is locked. If the image is unlocked, it always returns a Color with the value (0, 0, 0, 1.0). This is the same as get_pixel, but with a Vector2 argument instead of two integer arguments.


Devuelve una nueva imagen que es una copia del área de la imagen especificada con rect.


Devuelve el tamaño de la imagen (anchura y altura).


  • Rect2 get_used_rect ( ) const

Devuelve un Rect2 que encierra la porción visible de la imagen, considerando cada píxel con un canal alfa no nulo como visible.


  • int get_width ( ) const

Devuelve el ancho de la imagen.


  • bool has_mipmaps ( ) const

Devuelve true si la imagen ha generado mipmaps.


  • bool is_compressed ( ) const

Devuelve true si la imagen está comprimida.


  • bool is_empty ( ) const

Devuelve true si la imagen no tiene datos.


  • bool is_invisible ( ) const

Devuelve true si todos los píxeles de la imagen tienen un valor alfa de 0. Devuelve false si algún píxel tiene un valor alfa superior a 0.


Loads an image from file path. See Supported image formats for a list of supported image formats and limitations.

Warning: This method should only be used in the editor or in cases when you need to load external images at run-time, such as images located at the user:// directory, and may not work in exported projects.

See also ImageTexture description for usage examples.


Loads an image from the binary contents of a BMP file.

Note: Godot's BMP module doesn't support 16-bit per pixel images. Only 1-bit, 4-bit, 8-bit, 24-bit, and 32-bit per pixel images are supported.


Carga una imagen del contenido binario de un archivo JPEG.


Carga una imagen del contenido binario de un archivo PNG.


Carga una imagen del contenido binario de un archivo TGA.


Carga una imagen del contenido binario de un archivo WebP.


  • void lock ( )

Locks the data for reading and writing access. Sends an error to the console if the image is not locked when reading or writing a pixel.


  • void normalmap_to_xy ( )

Convierte los datos de la imagen para representar las coordenadas en un plano 3D. Esto se usa cuando la imagen representa un mapa normal. Un mapa normal puede añadir muchos detalles a una superficie tridimensional sin aumentar el número de polígonos.


  • void premultiply_alpha ( )

Multiplica los valores de color por los valores alfa. Los valores de color resultantes para un píxel son (color * alfa)/256.


Resizes the image to the given width and height. New pixels are calculated using the interpolation mode defined via Interpolation constants.


Resizes the image to the nearest power of 2 for the width and height. If square is true then set width and height to be the same. New pixels are calculated using the interpolation mode defined via Interpolation constants.


Convierte una imagen estándar RGBE (Red Green Blue Exponent) en una imagen sRGB.


Saves the image as an EXR file to path. If grayscale is true and the image has only one channel, it will be saved explicitly as monochrome rather than one red channel. This function will return @GlobalScope.ERR_UNAVAILABLE if Godot was compiled without the TinyEXR module.

Note: The TinyEXR module is disabled in non-editor builds, which means save_exr will return @GlobalScope.ERR_UNAVAILABLE when it is called from an exported project.


Guarda la imagen como un archivo PNG en path.



Sets the Color of the pixel at (x, y) if the image is locked. Example:

var img = Image.new()
img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
img.lock()
img.set_pixel(x, y, color) # Works
img.unlock()
img.set_pixel(x, y, color) # Does not have an effect

Sets the Color of the pixel at (dst.x, dst.y) if the image is locked. Note that the dst values must be integers. Example:

var img = Image.new()
img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
img.lock()
img.set_pixelv(Vector2(x, y), color) # Works
img.unlock()
img.set_pixelv(Vector2(x, y), color) # Does not have an effect

  • void shrink_x2 ( )

Reduce la imagen en un factor de 2.


  • void srgb_to_linear ( )

Convierte los datos en bruto del espacio de color sRGB a una escala lineal.


  • void unlock ( )

Unlocks the data and prevents changes.