private void FrmEditorFaceBackList_Load(object sender, EventArgs e) { cbSex.SelectedIndex = 0; if (FACE != null) { this.Text = "修改人脸黑名单"; tbName.Text = FACE.Name; int sex = FACE.Sex == null?0:(int)FACE.Sex; if (sex < 0 || sex > 2) { sex = 0; } cbSex.SelectedIndex = sex; tbPicPath.Text = FACE.FacePic; if (FACE.Description != null) { tbDesc.Text = Encoding.UTF8.GetString(FACE.Description); } if (!string.IsNullOrWhiteSpace(FACE.FacePic)) { WebImageReader.ReadImageAsync(FACE.FacePic, new WebImageReader.ReadImageCallBack((i, ee) => { try { this.Invoke(new Action(() => { if (picBox.Image != null) { picBox.Image.Dispose(); picBox.Image = null; } if (i != null) { picBox.Image = i; } else if (ee != null) { throw ee; } })); } catch (Exception ex) { log.Error("加载人脸失败:", ex); WinInfoHelper.ShowInfoWindow(this, "加载人脸失败:" + ex.Message); } })); } } else { this.Text = "添加人脸黑名单"; } }
private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { string pic = ""; string name = dgvData.Columns[e.ColumnIndex].Name; if (name == "Col_CapPic" || name == "Col_OrigPic") { object obj = dgvData.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; pic = obj == null ? null : (string)obj; } if (!string.IsNullOrWhiteSpace(pic)) { try { if (picImage.Image != null) { picImage.Image.Dispose(); picImage.Image = null; } WebImageReader.ReadImageAsync(pic, (o, ee) => { if (o == null) { log.Error("获取图片错误:", ee); WinInfoHelper.ShowInfoWindow(this, "获取图片错误:" + ee.Message); } else { this.Invoke(new Action(() => { if (picImage.Image != null) { picImage.Image.Dispose(); picImage.Image = null; } picImage.Image = o; panelImage.Visible = true; panelImage.BringToFront(); })); } }); } catch (Exception ex) { log.Error("初始化图片路径错误:", ex); WinInfoHelper.ShowInfoWindow(this, "获取图片错误:" + ex.Message); } } } }
private void listFaces_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (listFaces.SelectedItems.Count > 0) { Maticsoft.Model.IMS_FACE_BLACKLIST bl = (Maticsoft.Model.IMS_FACE_BLACKLIST)listFaces.SelectedItems[0].Tag; tbName.Text = bl.Name; try { tbDesc.Text = Encoding.UTF8.GetString(bl.Description); } catch (Exception) { } if (bl.Sex == null) { bl.Sex = 0; } if (bl.Sex == 0) { tbSex.Text = "未知"; } else if (bl.Sex == 1) { tbSex.Text = "男"; } else { tbSex.Text = "女"; } if (picBox.Image != null) { picBox.Image.Dispose(); picBox.Image = null; } WebImageReader.ReadImageAsync(bl.FacePic, new WebImageReader.ReadImageCallBack((i, ee) => { if (i != null) { lock (this) { this.Invoke(new Action(() => { picBox.Image = i; })); } } })); } }
private void AddFace(Maticsoft.Model.IMS_FACE_BLACKLIST bl, ListViewItem item = null) { ListViewItem lvi = null; if (item != null) { lvi = item; } else { lvi = new ListViewItem(bl.Name); listFaces.Items.Add(lvi); } lvi.Tag = bl; if (lvi.ImageKey == null || lvi.ImageKey == "") { lvi.ImageKey = "loading"; } if (lvi.ImageKey != "loading") { Image image = imageList.Images[lvi.ImageKey]; imageList.Images.RemoveByKey(lvi.ImageKey); image.Dispose(); } WebImageReader.ReadImageAsync(bl.FacePic, new WebImageReader.ReadImageCallBack((i, e) => { if (i != null) { lock (this) { this.Invoke(new Action(() => { string k = Guid.NewGuid().ToString("N"); imageList.Images.Add(k, i); lvi.ImageKey = k; })); } } })); }