Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
ClosescreenRect | Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner. |
texture | Texture to draw. |
sourceRect | Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner. |
leftBorder | Number of pixels from the left that are not affected by scale. |
rightBorder | Number of pixels from the right that are not affected by scale. |
topBorder | Number of pixels from the top that are not affected by scale. |
bottomBorder | Number of pixels from the bottom that are not affected by scale. |
color | Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader. |
mat | Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used. |
pass | If -1 (default), draws all passes in the material. Otherwise, draws given pass only. |
Draw a texture in screen coordinates.
If you want to draw a texture from inside of OnGUI code, you should only do that from EventType.Repaint events. It's probably better to use GUI.DrawTexture for GUI code.
using UnityEngine;
public class Example : MonoBehaviour { // Draws a texture on the screen at 10, 10 with 100 width, 100 height.
Texture aTexture;
void OnGUI() { if (Event.current.type.Equals(EventType.Repaint)) { Graphics.DrawTexture(new Rect(10, 10, 100, 100), aTexture); } } }