Unity3d选择本地图片并加载

来源:互联网 发布:火焰之地怎么去乎门人 编辑:程序博客网 时间:2024/05/29 17:26

①找到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)

<span style="font-size:14px;">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 initializationvoid Start () {}// Update is called once per framevoid 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();}}}</span>
为按钮绑定一个addhead()的方法



在编辑器运行,当出现此弹窗,确定忽略即可。发布成桌面客户端是不会有这个弹窗的。


看运行效果

——》——》


0 0