Created
January 20, 2018 12:32
-
-
Save IJEMIN/14ba4d93928eb399e7865242e72294ac to your computer and use it in GitHub Desktop.
Load sprite from local file path, and load sprite in UI Image.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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