Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

Texture2D.ReadPixels

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public function ReadPixels(source: Rect, destX: int, destY: int, recalculateMipMaps: bool = true): void;
public void ReadPixels(Rect source, int destX, int destY, bool recalculateMipMaps = true);

Parámetros

source Rectangular region of the view to read from. Pixels are read from current render target.
destX Horizontal pixel position in the texture to place the pixels that are read.
destY Vertical pixel position in the texture to place the pixels that are read.
recalculateMipMaps Should the texture's mipmaps be recalculated after reading?

Descripción

Read pixels from screen into the saved texture data.

This will copy a rectangular pixel area from the currently active RenderTexture or the view (specified by the source parameter) into the position defined by destX and destY. Both coordinates use pixel space - (0,0) is lower left.

If recalculateMipMaps is set to true, the mip maps of the texture will also be updated. If recalculateMipMaps is set to false, you must call Apply to recalculate them.

This function works on ARGB32 and RGB24 texture formats, when render target is of a similar format too (e.g. usual 32 or 16 bit render texture). Reading from a HDR render target (ARGBFloat or ARGBHalf render texture formats) into HDR texture formats (RGBAFloat or RGBAHalf) is supported too.

The texture also has to have Read/Write Enabled flag set in the import settings.

	// This script should be attached to a camera.

// Grab the camera's view when this variable is true. var grab: boolean;

// The "display" is the object whose texture will be set // to the captured image. var display: Renderer;

function OnPostRender() { if (grab) { // Make a new texture of the right size and // read the camera image into it. var tex = new Texture2D(128, 128); tex.ReadPixels(new Rect(0, 0, 128, 128), 0, 0); tex.Apply();

// Set the display texture to the newly captured image. display.material.mainTexture = tex;

// Reset the grab variable to avoid making multiple // captures. grab = false; } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public bool grab; public Renderer display; void OnPostRender() { if (grab) { Texture2D tex = new Texture2D(128, 128); tex.ReadPixels(new Rect(0, 0, 128, 128), 0, 0); tex.Apply(); display.material.mainTexture = tex; grab = false; } } }

See Also: EncodeToPNG.