GUI.DrawTextureWithTexCoords

Switch to Manual
public static void DrawTextureWithTexCoords (Rect position, Texture image, Rect texCoords);
public static void DrawTextureWithTexCoords (Rect position, Texture image, Rect texCoords, bool alphaBlend);

Parameters

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

Description

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

Use this function for clipping or tiling the image within the given rectangle. The second Rect texCoords describes how the texture is adjusted to fit the position Rect. The first rectangle has its size in pixels provided; the second rectangle is given in a 0.0 to 1.0 range.

See Also: GUI.color, GUI.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)); } }