UGUI 加載圖片


圖片是動態加載的,然后轉換為sprite賦值到ugui的按鈕上

代碼如下

using UnityEngine;
using System.Collections;
using System.IO;
using UnityEngine.UI;

public class UITexLoader : MonoBehaviour 
{

    public string texname;
    private Texture2D m_Tex;
   

   
    private void LoadFromFile(string path)
    {
        m_Tex = new Texture2D(1, 1);
        m_Tex.LoadImage(ReadPNG(path));
    }

    private byte[] ReadPNG(string path)
    {
        FileStream fileStream = new FileStream(path, FileMode.Open, System.IO.FileAccess.Read);

        fileStream.Seek(0, SeekOrigin.Begin);

        byte[] binary = new byte[fileStream.Length]; //創建文件長度的buffer
        fileStream.Read(binary, 0, (int)fileStream.Length);

        fileStream.Close();

        fileStream.Dispose();

        fileStream = null;

        return binary;
    }


    // Use this for initialization
    void Start()
    {
        
        LoadFromFile(texname);
        Sprite tempSprite = new Sprite();
        tempSprite = Sprite.Create(m_Tex, new Rect(0, 0, m_Tex.width, m_Tex.height), new Vector2(0, 0));
        GetComponent<Image>().sprite  =tempSprite;
    }
	
	// Update is called once per frame
	void Update ()
    {
	
	}
}

 把這個腳本綁定到UGUI的按鈕上面,運行就可以把按鈕上的圖片 動態改變了 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM