版本:Unity 6(6000.0)
语言英语
  • C#

图形.DrawTexture

建议变更内容

成功!

谢谢您的帮助,我们正在不断提升 Unity 文档的质量。尽管我们无法接受所有的提交,但我们会查看来自我们用户的每一项变更建议,并在适用的地方进行更新。

关闭

提交失败

由于某种原因,您的变更建议无法提交。请在几分钟后<a>重试</a>一次。同时感谢您抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

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

参数

screenRect 用于贴图的屏幕上的矩形。以像素坐标为单位,左上角为 (0,0)。
texture 要绘制的贴图
sourceRect 要使用的贴图区域。以归一化坐标为单位,左下角为 (0,0)。
leftBorder 不受缩放影响的左侧像素数。
rightBorder 不受缩放影响的右侧像素数。
topBorder 不受缩放影响的顶部像素数。
bottomBorder 不受比例缩放影响的像素数量。
color 调节输出的颜色。中性值为 (0.5, 0.5, 0.5, 0.5)。设置为顶点着色器的颜色。
mat 用于绘制纹理的自定义材质。Unity 将纹理作为 _MainTex 传递到着色器中。如果传递 null,将使用带有 Internal-GUITexture.shader 的默认材质。
pass 如果为 -1(默认值),将绘制材質中的所有通道。否则,仅绘制给定通道。

说明

在画面坐标中绘制纹理。

如果您想从 OnGUI 代码内部绘制纹理,则应该只在EventType.Repaint事件中执行该操作。为 GUI 代码使用GUI.DrawTexture可能效果更好。

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