zl程序教程

您现在的位置是:首页 >  其它

当前栏目

untiy加载一张本地图片到Image 精灵

图片 加载 本地 Image 一张 精灵
2023-09-27 14:27:15 时间

image组件需要一个精灵sprite来显示图片,所以我们要做的是把本地图片转为精灵

        byte[] imgBuff = File.ReadAllBytes("图片的地址,带后缀");
        Texture2D texture2D = new Texture2D(1, 1);//默认尺寸是多少都无所谓
        texture2D.LoadImage(imgBuff);
        //获取图片组件
        Image img = transform.GetComponent<Image>();
        //参数解释 参数1 texture2d 2d纹理,也就是我们加载上来的本地图片  参数2 Rect图片的应用区域,0,0是起始点,如果写成0.5发,0.5f就是中心,width.height是应用这个图片的多大区域(像素),也就是说我们可以对图片进行简单裁剪,我用的是本地图片的宽高,也就是一整张图片  参数3 精灵在图片的什么地方 0.5 0.5是居中
        img.sprite = Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f));
        //设置尺寸  如果不设置img的尺寸为精灵的大小,精灵可能会拉伸变形,这种设置尺寸方法要求锚点为一个点
        img.GetComponent<RectTransform>().sizeDelta = new Vector2(texture2D.width, texture2D.height);