public override void SetParent(UIObj p) { ParentObj = p; transform.SetParent(p.transform); p.AddChild(this); if (!trans) { trans = this.transform as RectTransform; } trans.anchorMax = Vector2.one; //_anchorpoint.anchorMax; trans.anchorMin = Vector2.zero; //_anchorpoint.anchorMin; trans.anchoredPosition = Vector2.zero; //_anchorpoint.anchoredPosition; trans.sizeDelta = Vector2.zero; //_anchorpoint.sizeDelta; if (p is FaceObj) { FaceObj f = p as FaceObj; if (f.FaceParent) { SetFaceParent(f.FaceParent); } } }
public TempleteInfoPopViewModel() { _FaceObj = new FaceObj(); //初始化模版姓名 Name = ""; //初始化标题 Title = ""; //初始化ID Id = ""; //初始化年龄 Age = ""; //初始化导入时间 ImportTime = ""; //初始化备注 Remark = ""; //初始化模版类型 Type = thirft.QueryDefFaceObjType(); SelectedType = 0; //初始化模版性别 SelectedSex = 0; Sex = new List <string> { "未知", "男", "女" }; }
public void SetFace(FaceObj f) { Face = f; Face.Init(0, null); Face.Reset(Info.Base); (Face.Child[0] as FaceObj).SetInfo(Info.Eye, Info.Eye.Obj); (Face.Child[1] as FaceObj).SetInfo(Info.Eye, Info.Eye.Obj); (Face.Child[2] as FaceObj).SetInfo(Info.Ear, Info.Ear.Obj); (Face.Child[3] as FaceObj).SetInfo(Info.Ear, Info.Ear.Obj); (Face.Child[4] as FaceObj).SetInfo(Info.Brow, Info.Brow.Obj); (Face.Child[5] as FaceObj).SetInfo(Info.Brow, Info.Brow.Obj); (Face.Child[6] as FaceObj).SetInfo(Info.Hair, Info.Hair.Obj); (Face.Child[8] as FaceObj).SetInfo(Info.Nose, Info.Nose.Obj); (Face.Child[7] as FaceObj).SetInfo(Info.Jaw, Info.Jaw.Obj); Face.Child[0][0].Svg[1].transform.localScale = Info.PupilScale; Face.Child[1][0].Svg[1].transform.localScale = Info.PupilScale; Face.Child[0][0].Svg[1].color = Info.C_Eye; Face.Child[1][0].Svg[1].color = Info.C_Eye; Face.Child[7][0].Svg[1].transform.SetParent(Face.Svg[1].transform); Face.Child[2][0].Svg[1].color = Info.C_Offset; Face.Child[3][0].Svg[1].color = Info.C_Offset; }
public void CreateAnchor(int num, FaceObj o) { if (_obj == null || _obj.Length == 0) { _obj = new FaceObj[Child.Length]; } _obj[num] = (FaceObj)Instantiate(o); _obj[num].SetAnchorPoint(Child[num] as FaceObj); }
public GreatGrand Randomise() { GreatGrand final = (GreatGrand)Instantiate(GGObj); final.Generate(0); FaceObj _base = RandomiseFace(final); final.SetFace(_base); TitleObj.text = final.Data.Info.Name + "\nAge " + final.Data.Age.Value; return(final); }
public TempleteInfoPopViewModel() { ThriftServiceNameSpace.ThriftService thirft = new ThriftServiceNameSpace.ThriftService(); _FaceObj = new FaceObj(); //初始化模版类型 Type = thirft.QueryDefFaceObjType(); SelectedType = 0; //初始化模版性别 Sex = new List <string>() { "未知", "男", "女" }; }
public FaceObj GenerateFace(GreatGrand targ) { GameObject _base = (GameObject)Instantiate(targ.Data.Info.Base.Obj); FaceObj final = _base.GetComponent <FaceObj>(); final.SetSkinColor(targ.Data.Info.C_Skin); final.SetHairColor(targ.Data.Info.C_Hair); final.SetOffsetColor(targ.Data.Info.C_Offset); final.SetNoseColor(targ.Data.Info.C_Nose); targ.SetFace(final); final._Name = targ.Data.Info.Name; _base.name = targ.Data.Info.Name; return(final); }
public void ResetFace(FaceObj f) { f.SetSkinColor(Info.C_Skin); f.SetHairColor(Info.C_Hair); f.SetOffsetColor(Info.C_Offset); f.Reset(Info.Base); (f[0][0] as FaceObj).Reset(Info.Eye); (f[1][0] as FaceObj).Reset(Info.Eye); (f[2][0] as FaceObj).Reset(Info.Ear); (f[3][0] as FaceObj).Reset(Info.Ear); (f[4][0] as FaceObj).Reset(Info.Brow); (f[5][0] as FaceObj).Reset(Info.Brow); (f[6][0] as FaceObj).Reset(Info.Hair); (f[8][0] as FaceObj).Reset(Info.Nose); (f[7][0] as FaceObj).Reset(Info.Jaw); }
public void ReadExcel(ref FaceObj _FaceObj, System.IO.FileInfo[] files) { try { #region //遍历文件 for (int i = 0; i < files.Length; i++) { string strPathName = (files[i].DirectoryName + "\\" + files[i].Name); if (!File.Exists(strPathName)) { //MB_MODULES.Views.MyMessage.showYes("文件不存在!"); MB_MODULES.Views.MyMessage.showYes("文件不存在"); return; } try//捕获Excel异常 { using (var far = new FileStream(strPathName, FileMode.Open, FileAccess.Read)) { XSSFWorkbook xBook = new XSSFWorkbook(far); int x = xBook.GetCTWorkbook().sheets.sheet.Count; for (int o = 0; o < x; o++) { //ReadSheetFromExcel(xBook, o, ref _FaceObj); far.Close(); } } } catch (Exception ex) { Logger <OperaExcel> .Log.Error("ReadExcel", ex); return; } } #endregion } catch (Exception ex) { Logger <OperaExcel> .Log.Error("ReadExcel", ex); //System.Windows.MessageBox.Show(ex.Message); } }
public FaceObj RandomiseFace(GreatGrand f) { /*Eye.Randomise(Vector3.zero); * Brow.Randomise(Vector3.zero); * Ear.Randomise(Vector3.zero); * Jaw.Randomise(Vector3.zero, 0.0F); * Hair.Randomise(Vector3.zero, 0.0F, 0.0F); * Nose.Randomise(Vector3.zero); * Base.Randomise(Vector3.zero, 0.0F, 0.15F);*/ SkinCurrent = SkinGrad.Evaluate(Random.value); HairCurrent = HairGrad.Evaluate(Random.value); OffsetCurrent = Random.ColorHSV(); FaceObj fin = GenerateFace(f); //CheckDifferences(fin); return(fin); }
public FaceObj CloneFace() { FaceObj final = (FaceObj)Instantiate(Face); final.Init(0, null); final.SetSkinColor(Info.C_Skin); final.SetHairColor(Info.C_Hair); final.SetOffsetColor(Info.C_Offset); /*final.Reset(Info.Base); * (final[0] as FaceObj).SetInfo(Info.EyeLeft); * (final[1] as FaceObj).SetInfo((Info.EyeRight)); * (final[2] as FaceObj).SetInfo((Info.EarLeft)); * (final[3] as FaceObj).SetInfo((Info.EarRight)); * (final[4] as FaceObj).SetInfo((Info.BrowLeft)); * (final[5] as FaceObj).SetInfo((Info.BrowRight)); * (final[6] as FaceObj).SetInfo((Info.Hair)); * (final[8] as FaceObj).SetInfo((Info.Nose)); * (final[7] as FaceObj).SetInfo((Info.Jaw));*/ return(final); }
public void GetObjInfo(FaceObjInfoContainer f = null, bool side = true) { if (f != null) { if (Element == null || Index != f.Current.Index) { if (Element != null) { DestroyImmediate(Element.gameObject); } Element = Instantiate(f.Current.Prefab).GetComponent <FaceObj>(); Element.transform.SetParent(this.transform); //Element.GetComponent<RectTransform>().anchorMax = Vector3.one; //Element.GetComponent<RectTransform>().sizeDelta = Vector3.zero; Child = new UIObj[1]; Child[0] = Element; Index = f.Current.Index; } //Info = f; //SetInfo(f.Current, null, side); } }
public void SetFaceParent(FaceObj f) { FaceParent = f; Reset(); }
private void StartExcelImport(object filePathObj) { string filePath = @"C:\Users\Tsu\Desktop\2个插件\测试.xls"; IWorkbook workbook = null; ISheet sheet = null; try { var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); if (filePath.IndexOf(".xlsx") > 0) // 2007版本 { workbook = new XSSFWorkbook(fs); } else if (filePath.IndexOf(".xls") > 0) // 2003版本 { workbook = new HSSFWorkbook(fs); } if (sheet == null) //取第一个sheet { sheet = workbook.GetSheetAt(0); } //excel总行数 int rowCount = sheet.LastRowNum; tIPViewModel.MaxLength = rowCount; var pictureList = sheet.GetAllPictureInfos(); for (int i = 2; i < rowCount; i++) { IRow curRow = sheet.GetRow(i); if (curRow.Cells.Count == 0) { Console.WriteLine("NO." + i + "行为空行!"); continue; } FaceObj _FaceObj = new FaceObj();//实例OrderInf,添加到新的窗口的list中 _FaceObj.Tmplate = new List <FaceObjTemplate>(); //人脸对象添加时间 DateTime dt0 = Convert.ToDateTime(DateTime.Now); TimeSpan dt0Span = new TimeSpan(dt0.Ticks); DateTime dt01 = new DateTime(1970, 1, 1); TimeSpan dt01Span = new TimeSpan(dt01.Ticks); long longDPTemplateStarTime0 = Convert.ToInt64(dt0Span.TotalSeconds - dt01Span.TotalSeconds); _FaceObj.DTm = longDPTemplateStarTime0; #region 读取excel 生成人脸对象 foreach (var item in ExcelColNo) { switch (ExcelColNo.IndexOf(item)) { //人脸uuid case 0: string StringName = System.Guid.NewGuid().ToString(); StringName = StringName.Replace("-", ""); _FaceObj.TcUuid = StringName; break; //姓名 case 1: if (item != 0) { _FaceObj.TcName = curRow.GetCell(item).ToString(); Console.WriteLine(i + _FaceObj.TcName); } else { _FaceObj.TcName = _FaceObj.TcUuid; } break; //人脸首选模板标识序号 case 2: _FaceObj.NMain_ftID = 0; break; //类型 case 3: if (item != 0) { _FaceObj.NType = 0; } break; //敏感等级 case 4: if (item != 0) { _FaceObj.NSST = Convert.ToInt32(curRow.GetCell(item).ToString()); } break; //额外信息 case 5: if (item != 0) { _FaceObj.NExten = Convert.ToInt32(curRow.GetCell(item).ToString()); } break; //性别 case 6: if (item != 0) { _FaceObj.NSex = 0; } break; //年龄 case 7: if (item != 0) { _FaceObj.NAge = Convert.ToInt32(curRow.GetCell(item).ToString()); } break; //备注 case 8: if (item != 0) { _FaceObj.TcRemarks = curRow.GetCell(item).ToString(); } break; //模板1 case 9: if (item != 0) { FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); var picture = GetPictureByRowCol(pictureList, i, item); if (picture != null) { _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.Tmplate.Last().Img = picture.PictureData; } } break; //模板2 case 10: if (item != 0) { FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); var picture = GetPictureByRowCol(pictureList, i, item); if (picture != null) { _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.Tmplate.Last().Img = picture.PictureData; } } break; //模板3 case 11: if (item != 0) { FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); var picture = GetPictureByRowCol(pictureList, i, item); if (picture != null) { _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.Tmplate.Last().Img = picture.PictureData; } } break; //模板4 case 12: if (item != 0) { FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); var picture = GetPictureByRowCol(pictureList, i, item); if (picture != null) { _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.Tmplate.Last().Img = picture.PictureData; } } break; //模板5 case 13: if (item != 0) { FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); var picture = GetPictureByRowCol(pictureList, i, item); if (picture != null) { _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.Tmplate.Last().Img = picture.PictureData; } } break; } } #endregion //异步上传人脸对象 while (true) { if (upingCount <= maxUpCount) { //Console.WriteLine("第" + i + "次运行"); AddFaceObjDelegate.BeginInvoke(_FaceObj, new AsyncCallback(PicHandle), _FaceObj); upingCount++; break; } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void SetAnchorPoint(FaceObj t) { SetParent(t); _anchorpoint = t.transform as RectTransform; }
public void Setup(FaceObj p, FaceInfo f = null, bool side = true) { FaceParent = p; Reset(f, side); }
void OnGUI() { if (Data == null) { Data = GameObject.Find("GameManager").GetComponent <GameData>(); } if (Gen == null) { Gen = GameObject.Find("Generator").GetComponent <Generator>(); if (Gen) { Gen.LoadElements(); } } GUILayout.Label("Generator", EditorStyles.boldLabel); if (GUILayout.Button("Get Elements")) { Gen.LoadElements(); } EditorGUILayout.BeginHorizontal(); GUI.color = Color.green; if (GUILayout.Button("Generate")) { /*int facenum = 30; * time_total = facenum * time_per_face; * time_init = (float) EditorApplication.timeSinceStartup; */ Gen.Destroy(); Gen.TargetData = Gen.EditorGenerate(); Gen.GenerateNewFace(Gen.TargetData); } if (progress < time_total) { EditorUtility.DisplayProgressBar("Simple", "Show", progress / time_total); Gen.Destroy(); Gen.TargetGrand = Gen.Generate(0); FaceObj f = Gen.GenerateFace(Gen.TargetGrand); f.transform.localRotation = Quaternion.identity; f.transform.localScale = new Vector3(1.0F, 0.6F, 1.0F); } else { EditorUtility.ClearProgressBar(); } progress = (float)(EditorApplication.timeSinceStartup - time_init); GUI.color = Color.white; GUI.color = Color.yellow; if (GUILayout.Button("Randomise")) { Gen.Destroy(); Gen.TargetData = Gen.GenerateGrand(); Gen.GenerateNewFace(Gen.TargetData); } GUI.color = Color.white; GUI.color = Color.yellow; if (GUILayout.Button("Delete")) { Gen.Destroy(); } GUI.color = Color.white; EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); tab = GUILayout.Toolbar(tab, new string[] { "Base", "Hair", "Jaw", "Eyes", "Nose", "Brows", "Ears" }); FaceContainer targ = FOA(tab); if (targ == null) { return; } /*EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Elements: " + targ.Length, EditorStyles.boldLabel); * targ.Colour = (ColorType) EditorGUILayout.EnumPopup(targ.Colour); * EditorGUILayout.EndHorizontal(); * * EditorGUILayout.BeginHorizontal(); * if(GUILayout.Button("<", GUILayout.Width(50))) targ.Index --; * GUILayout.Label(targ.Current.Name +"", EditorStyles.boldLabel); * if(GUILayout.Button(">", GUILayout.Width(50))) targ.Index++; * EditorGUILayout.EndHorizontal(); * EditorGUILayout.Space(); * * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Scale", GUILayout.Width(50)); * targ._Scale.x = EditorGUILayout.Slider(targ._Scale.x, 0.1F, 2.5F, GUILayout.Width(150)); * targ._Scale.y = EditorGUILayout.Slider(targ._Scale.y, 0.1F, 2.5F, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * * if(targ == Gen.Base) * { * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Skin", GUILayout.Width(50)); * Gen.SkinCurrent = EditorGUILayout.ColorField(Gen.SkinCurrent, GUILayout.Width(150)); * if(GUILayout.Button("<", GUILayout.Width(20))) Gen.SkinCurrent = Gen.CycleSkin(1); * if(GUILayout.Button(">", GUILayout.Width(20))) Gen.SkinCurrent = Gen.CycleSkin(-1); * * EditorGUILayout.EndHorizontal(); * * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Hair", GUILayout.Width(50)); * Gen.HairCurrent = EditorGUILayout.ColorField(Gen.HairCurrent, GUILayout.Width(150)); * if(GUILayout.Button("<", GUILayout.Width(20))) Gen.HairCurrent = Gen.CycleHair(1); * if(GUILayout.Button(">", GUILayout.Width(20))) Gen.HairCurrent = Gen.CycleHair(-1); * EditorGUILayout.EndHorizontal(); * * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Col B", GUILayout.Width(50)); * Gen.OffsetCurrent = EditorGUILayout.ColorField(Gen.OffsetCurrent, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * } * else * { * EditorGUILayout.Space(); * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Position", GUILayout.Width(50)); * targ._Position.x = EditorGUILayout.Slider(targ._Position.x, -30.0F, 30.0F, GUILayout.Width(150)); * targ._Position.y = EditorGUILayout.Slider(targ._Position.y, -30.0F, 30.0F, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * * EditorGUILayout.Space(); * * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Rotation", GUILayout.Width(50)); * targ._Rotation.z = EditorGUILayout.Slider("", targ._Rotation.z, -25.0F, 25.0F, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * * EditorGUILayout.Space(); * * if(targ.Symm) * { * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Distance", GUILayout.Width(50)); * targ.Symm_Distance = EditorGUILayout.Slider("", targ.Symm_Distance, -3.0F, 3.0F, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * EditorGUILayout.Space(); * * EditorGUILayout.BeginHorizontal(); * GUILayout.Label("Scale Diff", GUILayout.Width(50)); * targ.Symm_ScaleDiff = EditorGUILayout.Slider("", targ.Symm_ScaleDiff, -0.5F, 0.5F, GUILayout.Width(150)); * EditorGUILayout.EndHorizontal(); * EditorGUILayout.Space(); * } * * if(targ == Gen.Eye && Gen.TargetGrand) * { * if(GUILayout.Button("Pupil", GUILayout.Width(80))) * { * Gen.TargetGrand.Face[0][0].Img[1].enabled = !Gen.TargetGrand.Face[0][0].Img[1].enabled; * Gen.TargetGrand.Face[1][0].Img[1].enabled = !Gen.TargetGrand.Face[1][0].Img[1].enabled; * } * } * }*/ /*if(Gen.TargetData != null) * { * changes = false; * Gen.CheckEditorInfo(Gen.TargetData); * if(Gen.TargetData.Faces.Count > 0 && Gen.TargetData.Faces[0] != null) * Gen.TargetData.Faces[0].Create(Gen.TargetData.Info); * * }*/ }
public void SetupObj(FaceObj p, FaceObjInfoContainer f = null, bool side = true) { FaceParent = p; GetObjInfo(f, side); }
/// <summary> /// 读取图片生成人脸对象 /// </summary> /// <param name="i"></param> /// <param name="type">导入类型:0图片;1excel</param> public void ThreadImportPicIntoDb(int i, int type) { try { if (type == 0) { string sourceName = (filesPic[i].DirectoryName + "\\" + filesPic[i].Name); if (File.Exists(sourceName)) { #region FaceObj _FaceObj = new FaceObj(); //实例OrderInf,添加到新的窗口的list中 //人脸对象添加时间 DateTime dt0 = Convert.ToDateTime(DateTime.Now); TimeSpan dt0Span = new TimeSpan(dt0.Ticks); DateTime dt01 = new DateTime(1970, 1, 1); TimeSpan dt01Span = new TimeSpan(dt01.Ticks); long longDPTemplateStarTime0 = Convert.ToInt64(dt0Span.TotalSeconds - dt01Span.TotalSeconds); _FaceObj.DTm = longDPTemplateStarTime0; //生成人脸对象uuid //生成uuid string StringName = System.Guid.NewGuid().ToString(); StringName = StringName.Replace("-", ""); _FaceObj.TcUuid = StringName; //人脸名称 _FaceObj.TcName = filesPic[i].Name.Substring(0, filesPic[i].Name.Length - 4); _FaceObj.Tmplate = new List <FaceObjTemplate>(); FaceObjTemplate _FaceObjTemplate = new FaceObjTemplate(); _FaceObj.Tmplate.Add(_FaceObjTemplate); _FaceObj.NMain_ftID = 0; //设置主模板ID string strPath2 = sourceName; //获得文件地址 if (strPath2 != "") { _FaceObj.Tmplate[0].Img = System.IO.File.ReadAllBytes(strPath2); } //判断统一指定类型 if ((strSex == "全部" && strType == "请选择")) { _FaceObj.NSex = 0; _FaceObj.NType = 1; } else { if (strSex != "" && strType != "") { _FaceObj.NSex = tIPViewModel.SelectedSex; foreach (var basicinfo in GlobalCache.FaceTypeList.Cast <STypeInfo>()) { if (basicinfo.Description == tIPViewModel.Type[tIPViewModel.SelectedType]) { _FaceObj.NType = basicinfo.Type == 0 ? -1 : basicinfo.Type; } } } else { if (strSex != "")//如果指定了性别 { _FaceObj.NSex = tIPViewModel.SelectedSex; } if (strType != "")//如果指定了类型 { foreach (var basicinfo in GlobalCache.FaceTypeList.Cast <STypeInfo>()) { if (basicinfo.Description == tIPViewModel.Type[tIPViewModel.SelectedType]) { _FaceObj.NType = basicinfo.Type == 0 ? -1 : basicinfo.Type; } } } } } #endregion //补足模板中不足的字段 for (int k = 0; k < _FaceObj.Tmplate.Count; k++) { if (_FaceObj.Tmplate[k].Img != null)//判断模板照片存在 { //生成uuid StringName = System.Guid.NewGuid().ToString(); StringName = StringName.Replace("-", ""); _FaceObj.Tmplate[k].TcUuid = StringName; //所属FaceObj的uuid _FaceObj.Tmplate[k].TcObjid = _FaceObj.TcUuid; //模板序号 _FaceObj.Tmplate[k].NIndex = k; // 模板添加时间 DateTime dt1 = Convert.ToDateTime(DateTime.Now); TimeSpan dt1Span = new TimeSpan(dt1.Ticks); DateTime dt2 = new DateTime(1970, 1, 1); TimeSpan dt2Span = new TimeSpan(dt2.Ticks); long longDPTemplateStarTime = Convert.ToInt64(dt1Span.TotalSeconds - dt2Span.TotalSeconds); _FaceObj.Tmplate[k].DTm = longDPTemplateStarTime; } } while (true) { if (upingCount <= maxUpCount) { AddFaceObjDelegate.BeginInvoke(_FaceObj, new AsyncCallback(PicHandle), _FaceObj); upingCount++; break; } } } } } catch (Exception ex) { Logger <OperaExcel> .Log.Error("ThreadImportPicIntoDb", ex); return; } }
/// <summary> /// 将人脸对象批量上传的回调函数(错误的保存) /// </summary> /// <param name="ar"></param> private void PicHandle(IAsyncResult ar) { lock (tIPViewModel) { try { upedCount++; FaceObj _FaceObj = ar.AsyncState as FaceObj; AsyncResult a = (AsyncResult)ar; ThreadImportPicIntoDbDelegate trys = (ThreadImportPicIntoDbDelegate)a.AsyncDelegate; List <ErrorInfo> ListErrorInfo = trys.EndInvoke(ar); if (ListErrorInfo.Count > 0) { for (int l = 0; l < ListErrorInfo.Count; l++) { Console.WriteLine(ListErrorInfo[l].ErrCode + ""); if (ListErrorInfo[l].ErrCode == -1)//小于0,注册失败 { byte[] photo = _FaceObj.Tmplate[0].Img; MemoryStream stream = new MemoryStream(photo); System.Drawing.Image img = System.Drawing.Image.FromStream(stream); //判断文件夹存在 DirectoryInfo directory = new DirectoryInfo(tIPViewModel.ErrorAddress); if (!directory.Exists) { //重新生成文件夹 Directory.CreateDirectory(tIPViewModel.ErrorAddress); } string strPath = ""; strPath = tIPViewModel.ErrorAddress + @"\" + _FaceObj.TcName + @".jpg"; img.Save(strPath, img.RawFormat); tIPViewModel.ErrorCount++; } if (ListErrorInfo[l].ErrCode == -3 || ListErrorInfo[l].ErrCode == -2)//图片不存在 { tIPViewModel.ErrorCount++; string message = "第" + upedCount + "行注册失败"; } } } else { ++tIPViewModel.SuccessCount; } } catch (Exception ex) { Logger <OperaExcel> .Log.Error("PicHandle", ex); tIPViewModel.ErrorCount++; //System.Windows.MessageBox.Show("PicHandle" + ex.Message); } finally { ++tIPViewModel.CurrentLength; tIPViewModel.ImportInfo = "总数量:" + tIPViewModel.MaxLength + " 上传数量:" + tIPViewModel.CurrentLength + "成功数量:" + tIPViewModel.SuccessCount + ""; //Console.WriteLine("总数量:" + tIPViewModel.MaxLength + " 上传数量:" + tIPViewModel.CurrentLength + "成功数量:" + tIPViewModel.SuccessCount + ""); upingCount--; if (tIPViewModel.MaxLength == tIPViewModel.CurrentLength) { this.Dispatcher.BeginInvoke(new Action(() => { MB_MODULES.Views.MyMessage.showYes("模版已全部导入完成!"); })); } } } }
public AddParams(int i, FaceObj _FaceObj) { I = i; FaceObj = _FaceObj; }
public void SetInfo(FaceInfo f, GameObject pref = null, bool side = true) { Info = f; if (Element == null || Index != f.Index) { if (Element != null) { DestroyImmediate(Element.gameObject); } Element = Instantiate(pref).GetComponent <FaceObj>(); Element.transform.SetParent(this.transform); Element.GetComponent <RectTransform>().anchorMin = Vector3.zero; Element.GetComponent <RectTransform>().anchorMax = Vector3.one; Element.GetComponent <RectTransform>().sizeDelta = Vector3.zero; Child = new UIObj[1]; Child[0] = Element; Index = f.Index; } Rect ele_rect = this.GetComponent <RectTransform>().rect; Vector3 randomised_pos = Vector3.zero; randomised_pos.x = Mathf.Lerp(ele_rect.xMin, ele_rect.xMax, Element.GetComponent <RectTransform>().pivot.x + Info._Position.x); randomised_pos.y = Mathf.Lerp(ele_rect.yMin, ele_rect.yMax, Element.GetComponent <RectTransform>().pivot.y + Info._Position.y); Element.transform.localPosition = randomised_pos; Element.transform.localRotation = Quaternion.Euler(Info._Rotation); Element.transform.localScale = Info._Scale; if (Info.Symm) { //Element.transform.position += Vector3.right * Info.Symm_Distance * (side ? 1 : -1); //Element.transform.localScale += Vector3.up * Info.Symm_ScaleDiff * (side ? 1 : -1); } if (FaceParent != null && Info != null) { Color final = Color.white; switch (Info.Colour) { case ColorType.Skin: final = FaceParent.SkinCol; break; case ColorType.Hair: final = FaceParent.HairCol; break; case ColorType.Offset: final = FaceParent.OffsetCol; break; case ColorType.Nose: final = FaceParent.NoseCol; break; case ColorType.Feature: final = Color.black; break; } if (Element.Svg.Length > 0) { Element.Svg[0].color = final; } for (int i = 0; i < Child.Length; i++) { if (Child[i] is FaceObj) { (Child[i] as FaceObj).FaceParent = FaceParent; } } } }