发布时间:2024-02-21 10:00
不仅仅是Sprite,支持任意格式的图片,支持UV Rect(用来设置显示图片的某一部分)。
Source Image :图片资源(Texture)可以不是Sprite
Color:颜色
Material:材质
Raycast Target:是否接受射线检测,当该项为false时,消息会透传
Raycast Padding:射线检测的偏移值
Maskable:受不受Mask的影响
UV Rect :图片在矩形里的偏移和大小
UV Rect的x、y的意思就是从贴图的哪个地方开始显示,以左下角为(0,0),右上角为(1,1)。
如果是x、y是(0,0.5),表示从贴图的中部(0,0.5)的坐标开始往上和往右显示,超出的部分有两种模式来填补,受贴图的Wrap Mode属性影响
Clamp表示用最后的像素填充
Repeat重复的填充
Mirror反转的填充
UV Rect的w、h的意思就是显示的大小,以左下角为(0,0),右上角为(1,1) 如果是w、h是(0.5,0.5),表示在Canvas中显示原来贴图的四分之一。
代码加载图片,分开在不在Resources目录下
不在Resources下:两种方式,路径必须写全路径,后缀不能省略
1:www
IEnumerator WWWLoadImage(RawImage img, string path)
{
WWW www = new WWW(path);
if (www.isDone)
yield return www;
img.texture = www.texture;
}
2:io
void IoLoadImage(RawImage img, string path, int width, int height)
{
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
fileStream.Seek(0, SeekOrigin.Begin);
byte[] byteArr = new byte[fileStream.Length];
fileStream.Read(byteArr, 0, byteArr.Length);
Texture2D texture = new Texture2D(width, height);
texture.LoadImage(byteArr);
img.texture = texture;
}
}
在Resources下:路径从Resources开始,不能带后缀
例如“F:\Unitytest\Assets\Resources\Image\123.jpg”,只需要用“Image\123”就可以
void ResouceLoadImage(RawImage img,string path)
{
img.texture = Resources.Load(path);
}