革博士程序V1仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 regels
2.7 KiB

  1. using LeatherApp.UIExtend;
  2. using Models;
  3. using OpenCvSharp;
  4. using OpenCvSharp.Extensions;
  5. using Sunny.UI;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using System.Windows.Forms;
  15. namespace LeatherApp.Page
  16. {
  17. public partial class FHome_Defect : UIForm
  18. {
  19. private List<DefectInfo> list;
  20. public List<DefectInfo> lstDel = new List<DefectInfo>();
  21. private Mat Image;
  22. public FHome_Defect(List<DefectInfo> lst, Mat img)
  23. {
  24. InitializeComponent();
  25. list = lst;
  26. Image = img;
  27. pictureBox1.Image = Image.ToBitmap();
  28. init();
  29. }
  30. private void init()
  31. {
  32. this.Text += $" 原图索引({list[0].PhotoIndex})";
  33. list.ForEach(item => {
  34. UIDefectImage userCon = new UIDefectImage()
  35. {
  36. Code = item.Code,
  37. Tag = item,
  38. DefecLocation=$"[{item.CentreX}cm,{Math.Round(item.CentreY/ 100.0f,2)}米]",
  39. Image = item.image
  40. };
  41. //userCon.CodeChangeEvent = (code, name) =>
  42. //{
  43. // item.Code = code;
  44. // item.Name = name;
  45. // API.OutputDebugString("BBBBBBBBBBB-" + item.Code+" "+ item.Name);
  46. //};
  47. this.flowLayoutPanel1.Controls.Add(userCon);
  48. });
  49. }
  50. private void FHome_Defect_Load(object sender, EventArgs e)
  51. {
  52. }
  53. private void btnOK_Click(object sender, EventArgs e)
  54. {
  55. for(int i = 0; i < this.flowLayoutPanel1.Controls.Count; i++)
  56. {
  57. UIDefectImage userCon= this.flowLayoutPanel1.Controls[i] as UIDefectImage;
  58. if (userCon.Checked)
  59. {
  60. var item=(DefectInfo)userCon.Tag;
  61. lstDel.Add(item);
  62. list.Remove(item);
  63. }
  64. }
  65. this.DialogResult = DialogResult.OK;
  66. this.Close();
  67. }
  68. private void btnCancel_Click(object sender, EventArgs e)
  69. {
  70. for (int i = 0; i < this.flowLayoutPanel1.Controls.Count; i++)
  71. {
  72. UIDefectImage userCon = this.flowLayoutPanel1.Controls[i] as UIDefectImage;
  73. var item = (DefectInfo)userCon.Tag;
  74. lstDel.Add(item);
  75. list.Remove(item);
  76. }
  77. this.DialogResult = DialogResult.OK;
  78. this.Close();
  79. }
  80. }
  81. }