public static void DrawTexture (Rect screenRect, Texture texture, Material mat= null, int pass= -1);
public static void DrawTexture (Rect screenRect, Texture texture, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat= null, int pass= -1);
public static void DrawTexture (Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat= null, int pass= -1);
public static void DrawTexture (Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Color color, Material mat= null, int pass= -1);

Parameters

screenRect屏幕上用于纹理的矩形。在像素坐标系中,左上角为 (0,0)。
texture要绘制的 Texture
sourceRect要使用的纹理区域。在标准化坐标系中,左下角为 (0,0)。
leftBorder左侧不受缩放比例影响的像素数。
rightBorder右侧不受缩放比例影响的像素数。
topBorder顶部不受缩放比例影响的像素数。
bottomBorder底部不受缩放比例影响的像素数。
color调制输出的 Color。中性值为 (0.5, 0.5, 0.5, 0.5)。设置为着色器的顶点颜色。
mat可用于绘制纹理的自定义 Material。如果传递 null,则使用具有 Internal-GUITexture.shader 的默认材质。
pass如果为 -1(默认值),绘制材质中的所有通道。否则,仅绘制给定通道。

Description

在屏幕坐标系中绘制纹理。

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); } } }