DrawTexture

说明在一个矩形区域内绘制纹理

用法

以下方法绘制的是严格的矩形:

public static void DrawTexture(Rect position, Texture image);
public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode);
public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend);
public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend, float imageAspect);

以下方法绘制的则是带有边界和圆角的矩形区域:

public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend, float imageAspect, Color color, float borderWidth, float borderRadius);
public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend, float imageAspect, Color color, Vector4 borderWidths, float borderRadius);

参数

position

矩形区域的位置和尺寸。

image

要绘制的纹理图片。

scaleMode

贴图不符合绘图比例时缩放图像的模式。

alphaBlend

是否应用透明度混合(默认为是)。

imageAspect

用于源图像的宽高比。 取 0 则使用原始比例。

color

应用在纹理上的色调。

borderWidth / borderWidths

边界宽度,前者为同一宽度,后者为分别定义左、上、右、下四个边界的宽度。

borderRadius / borderRadiuses

圆角矩形的边角半径,前者为同一半径,后者为分别定义左上、右上、右下、左下四个顶点的半径。

示例

private void OnSceneGUI () {
		Handles.BeginGUI ();
	
		GUI.DrawTexture (new Rect (5, 5, 100, 100), _target._texture);
		GUI.DrawTexture (new Rect (25, 25, 100, 100), Texture2D.whiteTexture, ScaleMode.StretchToFill, true, 0, new Color(0, 0, 0, 0.5f), 0, 5);
	
		Handles.EndGUI ();
}