Skip to content

Instantly share code, notes, and snippets.

@IJEMIN
Created January 20, 2018 12:32
Show Gist options
  • Save IJEMIN/14ba4d93928eb399e7865242e72294ac to your computer and use it in GitHub Desktop.
Save IJEMIN/14ba4d93928eb399e7865242e72294ac to your computer and use it in GitHub Desktop.
Load sprite from local file path, and load sprite in UI Image.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
// 로컬 이미지 파일 경로를 주면 해당 경로에서 이미지를 로드해 UI Image로 띄어주는 코드
public class ImageLoader : MonoBehaviour {
// 스프라이트를 로드할 이미지 컴포넌트
public Image spriteDisplay;
public string filePath = "파일경로를 여기에"; // 파일 경로
void Start()
{
LoadFile();
}
void LoadFile()
{
// 만약 해당 경로에 파일이 존재한다면,
if(File.Exists(filePath))
{
// 파일을 바이트(가동되지 않은 로우데이터)로 받음
byte[] data = File.ReadAllBytes(filePath);
// 바이트 정보를 이미지 텍스쳐로 컨버팅함
// 기본 텍스쳐 생성
Texture2D texture = new Texture2D(512, 512, TextureFormat.ARGB32, false);
// 생성된 기본 텍스쳐의 컬러를 바이트로 뽑아놓은 이미지를 불러 지정함
texture.LoadImage(data);
// 뽑아온 텍스쳐의 이름을 가져온 파일의 이름으로 지정
texture.name = Path.GetFileName(filePath);
// 일반 텍스쳐로 부터 스프라이트를 생성
// 참고: 일반 텍스쳐는 3D 모델에 사용할 그림, 스프라이트는 2D 게임에 사용할 텍스쳐
Sprite newSprite = Sprite.Create(texture, new Rect(0.0f, 0.0f, texture.width, texture.height), new Vector2(0.5f, 0.5f), 64);
// 이미지 컴포넌트의 스프라이트로 지정
spriteDisplay.sprite = newSprite;
}
else
{
Debug.LogError("해당 경로에 파일이 없셈");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment