Unity3D選擇本地圖片並加載

這篇文章主要爲大家詳細介紹了Unity3D選擇本地圖片並加載,具有一定的參考價值,感興趣的小夥伴們可以參考一下

本文實例爲大家分享了Unity3D選擇本地圖片並加載的具體代碼,供大家參考,具體內容如下

①找到System.Windows.Forms.dll:在unity的安裝目錄中找到它,如 

E:\ProgramFiles(x86)\Unity\Editor\Data\Mono\lib\mono\2.0

②設置.NET 2.0集:Untiy默認是.NET 2.0 Subset。在Edit->Project Settings->Player->OtherSettings中修改

③任意打開一項目,新建Plugins文件夾,將找到的System.Windows.Forms.dll複製進去工程文件中(Project)

using UnityEngine;
using System.Collections;
using System;
using System.Windows.Forms;
using System.IO;
using UnityEngine.UI;
public class AddHead : MonoBehaviour {
 private Texture2D img=null;
 public Image image;
 public Sprite sprite;
// Use this for initialization
 void Start () {
 }
 // Update is called once per frame
 void Update () {
 }
 /*void OnGUI(){
 if (GUI.Button (new Rect (0, 0, 100, 20), "選擇文件")) {
 }*/
 public void addhead(){
 OpenFileDialog od=new OpenFileDialog();
 od.Title="請選擇頭像圖片";
 od.Multiselect=false;
 od.Filter="圖片文件(*.jpg,*.png,*.bmp)|*.jpg;*.png;*.bmp";
 if(od.ShowDialog()==DialogResult.OK){
 //Debug.Log(od.FileName);
 StartCoroutine(GetTexture("file://"+od.FileName));
 }
 /*if (img != null) {
 //GUI.DrawTexture(new Rect(0,20,img.width,img.height),img);
 image.sprite=sprite;
 }*/
 }
 IEnumerator GetTexture(string url){
 WWW www = new WWW (url);
 yield return www;
 if (www.isDone && www.error == null) {
 img=www.texture;
 sprite=Sprite.Create(img,new Rect(0,0,img.width,img.height),new Vector2(0.5f,0.5f)); 
 image.sprite=sprite;
 //Debug.Log(img.width+" "+img.height);
 byte[] date=img.EncodeToPNG();
 }
 }
}

爲按鈕綁定一個addhead()的方法

在編輯器運行,當出現此彈窗,確定忽略即可。發佈成桌面客戶端是不會有這個彈窗的。

看運行效果

——》——》

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章