從任意文件目錄下讀取文件並在unity中顯示:
1)讀取目標文件
byte[] imageByte = File.ReadAllBytes(imagePath);
2)轉換成紋理
texture.LoadImage(imageByte);
3)轉換成精靈
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0));
4)給image賦值
image.sprite = sprite;
如果圖片較大,速度轉換會相應變慢,可以考慮吧image換成RawImage,然后通過rawImage.texture = texture直接賦值,省略第三步
全代碼
public void SetImageTexture2D( string imagePath, RawImage image) { Stopwatch sw = new Stopwatch(); sw.Start(); byte[] imageByte = File.ReadAllBytes(imagePath); Texture2D texture = new Texture2D(1, 1); texture.LoadImage(imageByte); image.texture = texture; sw.Stop(); print(sw.ElapsedMilliseconds); //Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0)); //image.sprite = sprite; }