Version: 2020.3

GUI.DrawTextureWithTexCoords

切换到手册
public static void DrawTextureWithTexCoords (Rect position, Texture image, Rect texCoords);
public static void DrawTextureWithTexCoords (Rect position, Texture image, Rect texCoords, bool alphaBlend);

参数

position 要在其中绘制纹理的屏幕矩形。
image 要显示的 Texture
texCoords 当图像的宽高比不适合要绘制的宽高比时,如何缩放图像。
alphaBlend 是否将图像 Alpha 混合到显示屏上(默认值)。如果为 false,则将图片绘制到显示屏上。

描述

使用给定的纹理坐标在矩形内绘制纹理。

使用该函数在给定矩形内裁剪或平铺图像。第二个 Rect texCoords 描述如何调整纹理以适应位置 Rect。第一个矩形的大小以像素为单位;第二个矩形的范围为 0.0 到 1.0。\ \ 另请参阅:GUI.colorGUI.contentColor

using UnityEngine;

// Use DrawTextureWithTexCoords() to draw a texture. The texture is draw on the window // inside a given pixel rectangle. The size of the drawn texture is based on the value // of hor. This ranges from 0.5 to 1.25 so the bottom left half of the texture to a // greater than normal value.

public class ExampleScript : MonoBehaviour { public Texture2D tex; private Rect rect; private float hor; private Rect hs; private Rect label;

void Start() { float center = Screen.width / 2.0f; rect = new Rect(center - 200, 200, 400, 250); hs = new Rect(center - 200, 125, 400, 30); label = new Rect(center - 20, 155, 50, 30); hor = 0.5f; }

void OnGUI() { hor = GUI.HorizontalSlider(hs, hor, 0.5f, 1.25f); GUI.Label(label, hor.ToString("F3")); GUI.DrawTextureWithTexCoords(rect, tex, new Rect(0.0f, 0.0f, hor, hor)); } }