using LeatherApp.UIExtend; using Models; using OpenCvSharp; using OpenCvSharp.Extensions; using Sunny.UI; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace LeatherApp.Page { public partial class FHome_Defect : UIForm { private List list; public List lstDel = new List(); private Mat Image; public FHome_Defect(string modelName, List lst, Mat img) { InitializeComponent(); list = lst; Image = img; pictureBox1.Image = Image.ToBitmap(); init(modelName); } private void init(string modelName) { this.Text += $" 原图索引({list[0].PhotoIndex})"; list.ForEach(item => { string filename = Path.Combine(Config.appBasePath + "\\TempPic\\", $"{item.imageID}.jpg"); OpenCvSharp.Mat img = new OpenCvSharp.Mat(filename); UIDefectImage userCon = new UIDefectImage(modelName) { Code = item.Code, Tag = item, DefecLocation=$"[{item.CentreX}cm,{Math.Round(item.CentreY/ 100.0f,2)}米]", Image = img.ToBitmap() }; //userCon.CodeChangeEvent = (code, name) => //{ // item.Code = code; // item.Name = name; // API.OutputDebugString("BBBBBBBBBBB-" + item.Code+" "+ item.Name); //}; this.flowLayoutPanel1.Controls.Add(userCon); }); } private void FHome_Defect_Load(object sender, EventArgs e) { } private void btnOK_Click(object sender, EventArgs e) { for(int i = 0; i < this.flowLayoutPanel1.Controls.Count; i++) { UIDefectImage userCon= this.flowLayoutPanel1.Controls[i] as UIDefectImage; if (userCon.Checked) { var item=(DefectInfo)userCon.Tag; lstDel.Add(item); list.Remove(item); } } this.DialogResult = DialogResult.OK; this.Close(); } private void btnCancel_Click(object sender, EventArgs e) { for (int i = 0; i < this.flowLayoutPanel1.Controls.Count; i++) { UIDefectImage userCon = this.flowLayoutPanel1.Controls[i] as UIDefectImage; var item = (DefectInfo)userCon.Tag; lstDel.Add(item); list.Remove(item); } this.DialogResult = DialogResult.OK; this.Close(); } } }