/// <summary> /// 打开window面板选择图片文件并且copy图片到指定目录下 /// </summary> /// <param name="saveName"></param> /// <param name="callback"></param> public void OpenDialogAndCopyImage(string saveName, Action <UnityEngine.Object> callback) { OpenFileName ofn = new OpenFileName(); ofn.structSize = Marshal.SizeOf(ofn); ofn.filter = "图片文件(*.jpg*.png)\0*.jpg;*.png"; ofn.file = new string(new char[256]); ofn.maxFile = ofn.file.Length; ofn.fileTitle = new string(new char[64]); ofn.maxFileTitle = ofn.fileTitle.Length; string path = ""; if (string.IsNullOrEmpty(_lastSelectPath)) { path = Application.dataPath; } else { path = _lastSelectPath; } path = path.Replace('/', '\\'); //默认路径 ofn.initialDir = path; ofn.title = "Open Project"; ofn.defExt = "JPG"; //显示文件的类型 //注意 以下项目不一定要全选 但是0x00000008项不要缺少 ofn.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000200 | 0x00000008; //OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST| OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR if (WindowDll.GetFile(ofn)) { //记录上次选择的路径 _lastSelectPath = ofn.file; _lastSelectPath = _lastSelectPath.Replace('\\', '/'); int index = _lastSelectPath.LastIndexOf('/'); _lastSelectPath = _lastSelectPath.Remove(index); StartCoroutine(LoadAndCopyImage(ofn.file, saveName, callback)); } }