这篇文章主要为大家详细介绍了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()的方法
在编辑器运行,当出现此弹窗,确定忽略即可。发布成桌面客户端是不会有这个弹窗的。
看运行效果
——》
——》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
织梦狗教程
本文标题为:Unity3D选择本地图片并加载


基础教程推荐
猜你喜欢
- C#中 Json 序列化去掉null值的方法 2022-11-18
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- C#中的Linq to JSON操作详解 2023-06-08
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- 实例详解C#实现http不同方法的请求 2022-12-26
- Unity shader实现高斯模糊效果 2023-01-16
- C# 解析XML和反序列化的示例 2023-04-14
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20