Version: 2020.2


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


position@param position Прямоугольник, внутри которого будет нарисована текстура.
image@param image Отображаемая Texture.
texCoords@param scaleMode Как следует масштабировать изображение в случае, если соотношение сторон изображения не совпадает с соотношением сторон прямоугольника (в котором будет рендерится изображение).
alphaBlend@param alphaBlend Следует ли применять альфа-смешивание изображения на экране (по умолчанию). Если значение равно false, то изображение будет нарисовано на экране.


Draw a texture within a rectangle with the given texture coordinates.

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