Unity3d Ugui 8 RawImage

不仅仅是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);
    }

你可能感兴趣的:(Unity,UGUI,unity,unity3d,ugui)