123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using PaintDotNet.ImageCollect.CameraPreviewComponent;
- using PaintDotNet.CustomControl;
- using PaintDotNet.Annotation.Enum;
- using PaintDotNet.Adjust.BaseImage;
- using PaintDotNet.Annotation;
- using Metis.ParameterSet;
- namespace PaintDotNet.GeneralAnalysis.Artwork
- {
- internal partial class ArtworkCenterUserControl : ArtworkUserControl
- {
- private AppWorkspace m_appWorkspace;
- private DocumentWorkspaceWindow m_artWorkspace;
- private DocumentWorkspaceWindow m_targetWorkspace;
- private DocumentWorkspaceWindow m_allWorkspace;
- private bool m_drawEnable = true;
- private bool m_isShowAll;
- private ArtworkControlButtons m_artCommonControlButtons;
- private ArtworkControlButtons m_targetCommonControlButtons;
- public void getData(GeneralAnalysisModel.ArtworkComparativeModel artworkComparativeModel) {
- this.chkGrids.Checked = artworkComparativeModel.parameter2;
- this.chkLine.Checked = artworkComparativeModel.parameter3;
- this.trbArt.Value = artworkComparativeModel.parameter4;
- this.txtArtTrbValue.Text = artworkComparativeModel.parameter4.ToString();
- this.txtRotateFlip.Text = artworkComparativeModel.parameter5;
- this.trbTarget.Value = artworkComparativeModel.parameter6;
- this.txtTargetTrbValue.Text = artworkComparativeModel.parameter6.ToString();
- this.txtDistance.Text = artworkComparativeModel.parameter7;
- switch (artworkComparativeModel.parameter8) {
- case 0:
- this.rdoShowAll.Checked = true;
- this.rdoShowArtwork.Checked = false;
- this.rdoTargetImg.Checked = false;
- this.rdoSubfield.Checked = false;
- break;
- case 1:
- this.rdoShowAll.Checked = true;
- this.rdoShowArtwork.Checked = false;
- this.rdoTargetImg.Checked = false;
- this.rdoSubfield.Checked = false;
- break;
- case 2:
- this.rdoShowAll.Checked = false;
- this.rdoShowArtwork.Checked = true;
- this.rdoTargetImg.Checked = false;
- this.rdoSubfield.Checked = false;
- break;
- case 3:
- this.rdoShowAll.Checked = false;
- this.rdoShowArtwork.Checked = false;
- this.rdoTargetImg.Checked = true;
- this.rdoSubfield.Checked = false;
- break;
- case 4:
- this.rdoShowAll.Checked = false;
- this.rdoShowArtwork.Checked = false;
- this.rdoTargetImg.Checked = false;
- this.rdoSubfield.Checked = true;
- break;
- }
- }
- public GeneralAnalysisModel.ArtworkComparativeModel saveData()
- {
- var artworkComparativeModel = new GeneralAnalysisModel.ArtworkComparativeModel();
- artworkComparativeModel.parameter2 = this.chkGrids.Checked;
- artworkComparativeModel.parameter3 = this.chkLine.Checked;
- artworkComparativeModel.parameter4 = this.trbArt.Value;
- artworkComparativeModel.parameter5 = this.txtRotateFlip.Text;
- artworkComparativeModel.parameter6 = this.trbTarget.Value;
- artworkComparativeModel.parameter7 = this.txtDistance.Text;
- if (rdoShowAll.Checked)
- {
- artworkComparativeModel.parameter8 = 1;
- }
- else if (this.rdoShowArtwork.Checked) {
- artworkComparativeModel.parameter8 = 2;
- }
- else if (this.rdoTargetImg.Checked)
- {
- artworkComparativeModel.parameter8 = 3;
- }
- else if (this.rdoSubfield.Checked)
- {
- artworkComparativeModel.parameter8 = 4;
- }
- return artworkComparativeModel;
- }
- private void InitializeLanguageText()
- {
- this.groupBox6.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Displaymodesetting.text");
- this.rdoSubfield.Text = PdnResources.GetString("Menu.Tools.ColumnDisplay.Text");
- this.rdoTargetImg.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Targetgraph.text");
- this.rdoShowArtwork.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Artwork.text");
- this.rdoShowAll.Text = PdnResources.GetString("Menu.Showall.text");
- this.groupBox5.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Targetgraphcontrol.text");
- this.btnRotateFlip.Text = PdnResources.GetString("Form.OkButton.Text");
- this.label5.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.move.text") + ":";
- this.label4.Text = PdnResources.GetString("Menu.transparency.text") + ":";
- this.label3.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Spin.text") + ":";
- this.groupBox4.Text = PdnResources.GetString("Menu.Setting.Text");
- this.label2.Text = PdnResources.GetString("Menu.transparency.text");
- this.chkLine.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.displayauxiliarylines.text");
- this.chkGrids.Text = PdnResources.GetString("Menu.displaygrid.text");
- this.groupBox3.Text = PdnResources.GetString("Menu.Processdrawing.Text");
- this.groupBox1.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.Targetpicture.text");
- }
- public ArtworkCenterUserControl(AppWorkspace appWorkspace, int width, int height)
- {
- m_appWorkspace = appWorkspace;
- InitializeComponent();
- InitializeLanguageText();
- m_isShowAll = rdoShowAll.Checked;
- this.Width = width;
- this.Height = height;
- InitializeData();
- InitializeArtBaseTool();
- InitializeTargetBaseTool();
-
- }
- private void InitializeData()
- {
- this.m_allWorkspace = new DocumentWorkspaceWindow(m_appWorkspace);
- this.m_allWorkspace.AppWorkspaceTop = m_appWorkspace;
- this.m_allWorkspace.Visible = true;
- this.m_allWorkspace.Dock = DockStyle.Fill;
- this.m_allWorkspace.GraphicsList.SelectChanged += AllGraphicsList_SelectChanged;
- this.pnlArt.Controls.Add(this.m_allWorkspace);
- this.m_artWorkspace = new DocumentWorkspaceWindow(m_appWorkspace);
- this.m_artWorkspace.AppWorkspaceTop = m_appWorkspace;
- this.m_artWorkspace.Visible = false;
- this.m_artWorkspace.Dock = DockStyle.Fill;
- this.pnlArt.Controls.Add(this.m_artWorkspace);
- this.m_artWorkspace.GraphicsList.SelectChanged += ArtGraphicsList_SelectChanged;
- this.m_targetWorkspace = new DocumentWorkspaceWindow(m_appWorkspace);
- this.m_targetWorkspace.AppWorkspaceTop = m_appWorkspace;
- this.m_targetWorkspace.Visible = true;
- this.m_targetWorkspace.Dock = DockStyle.Fill;
- this.pnlTarget.Controls.Add(this.m_targetWorkspace);
- this.m_targetWorkspace.GraphicsList.SelectChanged += TargetGraphicsList_SelectChanged;
- Init();
- }
- /// <summary>
- /// 裁剪
- /// </summary>
- public void BitmapClipping()
- {
- if (m_drawEnable)
- {
- MessageBox.Show(PdnResources.GetString("Menu.Pleaseseroppedfirst.text"));
- return;
- }
- Bitmap bitmap = OverlapBitmap;
- if (this.m_allWorkspace.GraphicsList.Count >0)
- {
- RectangleF rectangle = this.m_allWorkspace.GraphicsList[0].GetBoundingBox();
- bitmap = ImageTools.Crop(this.OverlapBitmap, Rectangle.Ceiling(rectangle));
- }
- else if (this.m_targetWorkspace.GraphicsList.Count > 0)
- {
- RectangleF rectangle = this.m_targetWorkspace.GraphicsList[0].GetBoundingBox();
- bitmap = ImageTools.Crop(this.TargetBitmap, Rectangle.Ceiling(rectangle));
- }
- else if (this.m_artWorkspace.GraphicsList.Count > 0)
- {
- RectangleF rectangle = this.m_artWorkspace.GraphicsList[0].GetBoundingBox();
- bitmap = ImageTools.Crop(this.ArtBitmap, Rectangle.Ceiling(rectangle));
- }
- DocumentWorkspace dw = m_appWorkspace.AddNewDocumentWorkspace();
- Document document = Document.FromImageMat(Camera.Tools.ToMat(bitmap));
- document.Dirty = true;
- dw.Document = document;
- dw.xmlSaveModel = Startup.instance.ruleDB;
- dw.InitRulerInfo();
- //激活
- m_appWorkspace.ActiveDocumentWorkspace = dw;
- //锁定扩缩
- if (m_appWorkspace.isLockZoom && m_appWorkspace.lockScaleRatio > 0)
- {
- m_appWorkspace.ActiveDocumentWorkspace.ZoomBasis = ZoomBasis.ScaleFactor;
- m_appWorkspace.ActiveDocumentWorkspace.ScaleFactor = ScaleFactor.FromDouble(m_appWorkspace.lockScaleRatio);
- m_appWorkspace.SetZoonTrackValue(m_appWorkspace.ActiveDocumentWorkspace.ScaleFactor);
- }
- else
- {
- m_appWorkspace.ActiveDocumentWorkspace.ZoomBasis = ZoomBasis.FitToWindow;
- }
- m_appWorkspace.Refresh();
- }
- /// <summary>
- /// 选择矩形框
- /// </summary>
- public void DrawEnable()
- {
- if (!m_drawEnable)
- {
- DialogResult result = MessageBox.Show(PdnResources.GetString("Menu.Aselectteandselectagain.text")+"?", PdnResources.GetString("Menu.Tips.text"), MessageBoxButtons.OKCancel);
- if (result == DialogResult.OK)
- {
- this.m_artWorkspace.GraphicsList.Clear();
- this.m_targetWorkspace.GraphicsList.Clear();
- this.m_allWorkspace.GraphicsList.Clear();
- this.m_artWorkspace.Refresh();
- this.m_targetWorkspace.Refresh();
- this.m_allWorkspace.Refresh();
- }
- else
- {
- return;
- }
- }
- m_drawEnable = true;
- if (this.ArtBitmap != null && this.m_artWorkspace != null)
- {
- m_artWorkspace.ActiveTool = DrawToolType.ImageCut;
- }
- if (this.TargetBitmap != null && this.m_targetWorkspace != null)
- {
- m_targetWorkspace.ActiveTool = DrawToolType.ImageCut;
- }
- if (this.OverlapBitmap != null && this.m_allWorkspace != null)
- {
- m_allWorkspace.ActiveTool = DrawToolType.ImageCut;
- }
- }
- private void AllGraphicsList_SelectChanged(object sender, EventArgs e)
- {
- GraphicsList graphicsList = (GraphicsList)sender;
- if (graphicsList.Count > 0)
- {
- m_drawEnable = false;
- m_artWorkspace.ActiveTool = DrawToolType.Pointer;
- m_targetWorkspace.ActiveTool = DrawToolType.Pointer;
- }
- }
- private void ArtGraphicsList_SelectChanged(object sender, EventArgs e)
- {
- GraphicsList graphicsList = (GraphicsList)sender;
- if (graphicsList.Count > 0)
- {
- m_drawEnable = false;
- m_allWorkspace.ActiveTool = DrawToolType.Pointer;
- m_targetWorkspace.ActiveTool = DrawToolType.Pointer;
- }
- }
- private void TargetGraphicsList_SelectChanged(object sender, EventArgs e)
- {
- GraphicsList graphicsList = (GraphicsList)sender;
- if (graphicsList.Count > 0)
- {
- m_drawEnable = false;
- m_allWorkspace.ActiveTool = DrawToolType.Pointer;
- m_artWorkspace.ActiveTool = DrawToolType.Pointer;
- }
- }
- /// <summary>
- /// 初始化基础工具
- /// </summary>
- public void InitializeTargetBaseTool()
- {
- this.m_targetCommonControlButtons = new ArtworkControlButtons();
- this.m_targetCommonControlButtons.Dock = DockStyle.Top;
- this.m_targetCommonControlButtons.Height = 30;
- this.m_targetCommonControlButtons.HideMovingDirection();
- this.pnlTargetTools.Controls.Add(m_targetCommonControlButtons);
- this.m_targetCommonControlButtons.zoomInButton.Click += new EventHandler(zoomInButtonTarget_Click);
- this.m_targetCommonControlButtons.zoomOutButton.Click += new EventHandler(zoomOutButtonTarget_Click);
- this.m_targetCommonControlButtons.zoomToWindowButton.Click += new EventHandler(zoomToWindowButtonTarget_Click);
- this.m_targetCommonControlButtons.actualSizeButton.Click += new EventHandler(actualSizeButtonTarget_Click);
- this.m_targetCommonControlButtons.pointerButton.Click += new EventHandler(pointerButtonTarget_Click);
- this.m_targetCommonControlButtons.mobileModeButton.Click += new EventHandler(mobileModeButtonTarget_Click);
- }
- /// <summary>
- /// 初始化基础工具
- /// </summary>
- public void InitializeArtBaseTool()
- {
- this.m_artCommonControlButtons = new ArtworkControlButtons();
- this.m_artCommonControlButtons.Dock = DockStyle.Top;
- this.m_artCommonControlButtons.Height = 30;
- this.m_artCommonControlButtons.HideMovingDirection();
- this.pnlArtTools.Controls.Add(m_artCommonControlButtons);
- this.m_artCommonControlButtons.zoomInButton.Click += new EventHandler(zoomInButton_Click);
- this.m_artCommonControlButtons.zoomOutButton.Click += new EventHandler(zoomOutButton_Click);
- this.m_artCommonControlButtons.zoomToWindowButton.Click += new EventHandler(zoomToWindowButton_Click);
- this.m_artCommonControlButtons.actualSizeButton.Click += new EventHandler(actualSizeButton_Click);
- this.m_artCommonControlButtons.pointerButton.Click += new EventHandler(pointerButton_Click);
- this.m_artCommonControlButtons.mobileModeButton.Click += new EventHandler(mobileModeButton_Click);
- }
- private void mobileModeButton_Click(object sender, EventArgs e)
- {
- if (m_isShowAll)
- {
- this.m_allWorkspace.ActiveTool = Annotation.Enum.DrawToolType.MoveMode;
- }
- else
- {
- this.m_artWorkspace.ActiveTool = Annotation.Enum.DrawToolType.MoveMode;
- }
-
- }
- private void pointerButton_Click(object sender, EventArgs e)
- {
- if (m_isShowAll)
- {
- this.m_allWorkspace.ActiveTool = Annotation.Enum.DrawToolType.Pointer;
- }
- else
- {
- this.m_artWorkspace.ActiveTool = Annotation.Enum.DrawToolType.Pointer;
- }
-
- }
- private void zoomToWindowButton_Click(object sender, EventArgs e)
- {
- DocumentWorkspaceWindow documentWorkspace = this.m_artWorkspace;
- if (m_isShowAll)
- {
- documentWorkspace = this.m_allWorkspace;
- }
- if (documentWorkspace.CompositionSurface != null)
- {
- documentWorkspace.ZoomToWindow();
- }
- }
- private void actualSizeButton_Click(object sender, EventArgs e)
- {
- DocumentWorkspaceWindow documentWorkspace = this.m_artWorkspace;
- if (m_isShowAll)
- {
- documentWorkspace = this.m_allWorkspace;
- }
- if (documentWorkspace.CompositionSurface != null)
- {
- documentWorkspace.ZoomBasis = ZoomBasis.ScaleFactor;
- documentWorkspace.ScaleFactor = ScaleFactor.OneToOne;
- }
- }
- private void zoomOutButton_Click(object sender, EventArgs e)
- {
- DocumentWorkspaceWindow documentWorkspace = this.m_artWorkspace;
- if (m_isShowAll)
- {
- documentWorkspace = this.m_allWorkspace;
- }
- if (documentWorkspace.CompositionSurface != null)
- documentWorkspace.ZoomOut();
- }
- private void zoomInButton_Click(object sender, EventArgs e)
- {
- DocumentWorkspaceWindow documentWorkspace = this.m_artWorkspace;
- if (m_isShowAll)
- {
- documentWorkspace = this.m_allWorkspace;
- }
- if (documentWorkspace.CompositionSurface != null)
- documentWorkspace.ZoomIn();
- }
- private void mobileModeButtonTarget_Click(object sender, EventArgs e)
- {
- this.m_targetWorkspace.ActiveTool = Annotation.Enum.DrawToolType.MoveMode;
- }
- private void pointerButtonTarget_Click(object sender, EventArgs e)
- {
- this.m_targetWorkspace.ActiveTool = Annotation.Enum.DrawToolType.Pointer;
- }
- private void zoomToWindowButtonTarget_Click(object sender, EventArgs e)
- {
- if (this.m_targetWorkspace.CompositionSurface != null)
- {
- this.m_targetWorkspace.ZoomToWindow();
- }
- }
- private void actualSizeButtonTarget_Click(object sender, EventArgs e)
- {
- if (this.m_targetWorkspace.CompositionSurface != null)
- {
- this.m_targetWorkspace.ZoomBasis = ZoomBasis.ScaleFactor;
- this.m_targetWorkspace.ScaleFactor = ScaleFactor.OneToOne;
- }
- }
- private void zoomOutButtonTarget_Click(object sender, EventArgs e)
- {
- if (this.m_targetWorkspace.CompositionSurface != null)
- this.m_targetWorkspace.ZoomOut();
- }
- private void zoomInButtonTarget_Click(object sender, EventArgs e)
- {
- if (this.m_targetWorkspace.CompositionSurface != null)
- this.m_targetWorkspace.ZoomIn();
- }
- public override void Init()
- {
- if (rdoShowAll.Checked)
- {
- if (this.OverlapBitmap != null)
- {
- Document document = Document.FromImage(this.OverlapBitmap);
- this.m_allWorkspace.Document = document;
- }
- this.chkGrids.Checked = this.GridLineEnabled;
- this.chkLine.Checked = this.AuxiliaryLineEnabled;
- this.trbArt.Value = this.Transparency;
- }
- else if (this.ArtBitmap != null)
- {
- Document document = Document.FromImage(this.ArtBitmap);
- this.m_artWorkspace.Document = document;
- this.chkGrids.Checked = this.GridLineEnabled;
- this.chkLine.Checked = this.AuxiliaryLineEnabled;
- this.trbArt.Value = this.Transparency;
- }
- if (this.TargetBitmap != null)
- {
- this.trbTarget.Value = this.TargetTransparency;
- Document document = Document.FromImage(this.TargetBitmap);
- this.m_targetWorkspace.Document = document;
- }
- }
-
- private void ArtworkCenterUserControl_Resize(object sender, EventArgs e)
- {
- UpdateUISubfield();
- }
- private void UpdateUISubfield()
- {
- if (rdoShowAll.Checked)
- {
- groupBox3.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.displayimage.text");
- }
- groupBox3.Visible = false;
- groupBox1.Visible = false;
- if (rdoSubfield.Checked)
- {
- int width = groupBox4.Location.X - groupBox3.Location.X - 6 - 6;
- groupBox3.Width = width / 2;
- groupBox3.Height = this.Height - 10;
- pnlArt.Width = groupBox3.Width - 12;
- pnlArt.Height = groupBox3.Height - 100;
- pnlArtTools.Width = groupBox3.Width - 12;
- pnlArtTools.Top = groupBox3.Height - 57;
- pnlArtTools.Left = pnlArt.Left;
- groupBox3.Visible = true;
- groupBox1.Location = new Point(groupBox3.Location.X + width / 2 + 6, groupBox3.Location.Y);
- groupBox1.Width = width / 2;
- groupBox1.Height = this.Height - 10;
- pnlTarget.Width = groupBox1.Width - 12;
- pnlTarget.Height = groupBox1.Height - 100;
- pnlTargetTools.Width = groupBox1.Width - 12;
- pnlTargetTools.Top = groupBox1.Height - 57;
- pnlTargetTools.Left = pnlTarget.Left;
- groupBox1.Visible = true;
- }
- else
- {
- int width = groupBox4.Location.X - groupBox3.Location.X - 6;
- if (rdoTargetImg.Checked)
- {
- groupBox1.Visible = true;
- groupBox1.Location = new Point(groupBox3.Location.X, groupBox3.Location.Y);
- groupBox1.Width = width;
- groupBox1.Height = this.Height - 10;
- pnlTarget.Width = groupBox1.Width - 12;
- pnlTarget.Height = groupBox1.Height - 100;
- pnlTargetTools.Width = groupBox1.Width - 12;
- pnlTargetTools.Top = groupBox1.Height - 57;
- pnlTargetTools.Left = pnlTarget.Left;
- groupBox3.Visible = false;
- }
- else
- {
- groupBox3.Visible = true;
- groupBox3.Width = width;
- groupBox3.Height = this.Height - 10;
- pnlArt.Width = groupBox3.Width - 12;
- pnlArt.Height = groupBox3.Height - 100;
- pnlArtTools.Width = groupBox3.Width - 12;
- pnlArtTools.Top = groupBox3.Height - 57;
- pnlArtTools.Left = pnlArt.Left;
- groupBox1.Visible = false;
- }
- }
- }
- /// <summary>
- /// 全部显示
- /// </summary>
- private void ShowAll()
- {
- this.m_artWorkspace.Visible = false;
- this.m_allWorkspace.Visible = true;
- if (this.OverlapBitmap != null)
- {
- Document document = Document.FromImage(this.OverlapBitmap);
- this.m_allWorkspace.Document = document;
- }
- }
- private void rdoSubfield_CheckedChanged(object sender, EventArgs e)
- {
-
- UpdateUISubfield();
- //this.pnlArt.Controls.Clear();
- //this.pnlArt.Controls.Add(this.m_artWorkspace);
- this.m_artWorkspace.Visible = true;
- this.m_allWorkspace.Visible = false;
- if (this.ArtBitmap != null)
- {
- Document document = Document.FromImage(this.ArtBitmap);
- this.m_artWorkspace.Document = document;
- }
- else
- {
- this.m_artWorkspace.Visible = false;
- }
-
- }
- private void rdoShowAll_CheckedChanged(object sender, EventArgs e)
- {
- m_isShowAll = false;
- if (rdoShowAll.Checked)
- {
- m_isShowAll = true;
- groupBox3.Text = PdnResources.GetString("Menu.Generalanalysis.Processmparison.displayimage.text");
- UpdateUISubfield();
- ShowAll();
- }
- }
- private void rdoShowArtwork_CheckedChanged(object sender, EventArgs e)
- {
- UpdateUISubfield();
- if (rdoShowArtwork.Checked)
- {
- groupBox3.Text = PdnResources.GetString("Menu.Processdrawing.Text");
- //this.pnlArt.Controls.Clear();
- //this.pnlArt.Controls.Add(this.m_artWorkspace);
- this.m_artWorkspace.Visible = true;
- this.m_allWorkspace.Visible = false;
- if (this.ArtBitmap != null)
- {
- Document document = Document.FromImage(this.ArtBitmap);
- this.m_artWorkspace.Document = document;
- }
- else
- {
- this.m_artWorkspace.Visible = false;
- }
- }
- }
- private void rdoTargetImg_CheckedChanged(object sender, EventArgs e)
- {
- if (rdoTargetImg.Checked)
- {
- UpdateUISubfield();
- }
- }
- private void trbArt_ValueChanged(object sender, EventArgs e)
- {
- this.Transparency = trbArt.Value;
- if (this.ArtBitmap != null)
- {
- this.ArtBitmap = MakeTransparent(this.ArtBitmap, trbArt.Value);
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- txtArtTrbValue.Text = trbArt.Value.ToString();
-
- }
- private void txtArtTrbValue_TextChanged(object sender, EventArgs e)
- {
- //if (!string.IsNullOrEmpty(txtArtTrbValue.Text))
- //{
- // trbArt.Value = Convert.ToInt32(txtArtTrbValue.Text);
- //}
- }
- private void txtArtTrbValue_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (char)Keys.Enter)
- {
- if (string.IsNullOrEmpty(txtArtTrbValue.Text.Trim()))
- {
- e.Handled = true;
- this.txtArtTrbValue.Text = "0";
- return;
- }
- int val = Convert.ToInt32(this.txtArtTrbValue.Text);
- if (val < 0)
- {
- val = 0;
- this.txtArtTrbValue.Text = "0";
- }
- else if (val > 255)
- {
- val = 255;
- this.txtArtTrbValue.Text = "255";
- }
- trbArt.Value = val;
- }
- if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))
- {
- e.Handled = true;
- }
- }
- private void txtTargetTrbValue_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (char)Keys.Enter)
- {
- if (string.IsNullOrEmpty(txtTargetTrbValue.Text.Trim()))
- {
- e.Handled = true;
- this.txtTargetTrbValue.Text = "0";
- return;
- }
- int val = Convert.ToInt32(this.txtTargetTrbValue.Text);
- if (val < 0)
- {
- val = 0;
- this.txtTargetTrbValue.Text = "0";
- }
- else if (val > 255)
- {
- val = 255;
- this.txtTargetTrbValue.Text = "255";
- }
- trbTarget.Value = val;
- }
- if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))
- {
- e.Handled = true;
- }
- }
- private void txtTargetTrbValue_TextChanged(object sender, EventArgs e)
- {
- if (!string.IsNullOrEmpty(txtTargetTrbValue.Text))
- {
- trbTarget.Value = Convert.ToInt32(txtTargetTrbValue.Text);
- }
- }
- private void trbTarget_ValueChanged(object sender, EventArgs e)
- {
- this.TargetTransparency = trbTarget.Value;
- if (this.TargetBitmap != null)
- {
- this.TargetBitmap = MakeTransparent(this.TargetBitmap, trbTarget.Value);
- OverlapBitmap = Overlap(OverlapType.CENTER);
- if(this.TargetBitmapClone == null)
- {
- this.TargetBitmapClone = this.TargetBitmap;
- }
- this.TargetBitmapClone = MakeTransparent(this.TargetBitmapClone, trbTarget.Value);
- }
- txtTargetTrbValue.Text = trbTarget.Value.ToString();
- }
- private void txtDistance_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == '0')
- {
- if (txtDistance.Text.Equals(""))
- {
- e.Handled = true;
- return;
- }
- }
- if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))
- {
- e.Handled = true;
- }
- }
- private void btnUp_Click(object sender, EventArgs e)
- {
- int distance = 1;
- if (!txtDistance.Text.Equals(""))
- {
- distance = Convert.ToInt32(txtDistance.Text);
- }
- this.TargetTop -= distance;
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- private void btnDown_Click(object sender, EventArgs e)
- {
- int distance = 1;
- if (!txtDistance.Text.Equals(""))
- {
- distance = Convert.ToInt32(txtDistance.Text);
- }
- this.TargetTop += distance;
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- private void btnLeft_Click(object sender, EventArgs e)
- {
- int distance = 1;
- if (!txtDistance.Text.Equals(""))
- {
- distance = Convert.ToInt32(txtDistance.Text);
- }
- this.TargetLeft -= distance;
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- private void btnRight_Click(object sender, EventArgs e)
- {
- int distance = 1;
- if (!txtDistance.Text.Equals(""))
- {
- distance = Convert.ToInt32(txtDistance.Text);
- }
- this.TargetLeft += distance;
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- private void txtRotateFlip_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (char)Keys.Enter)
- {
- if (string.IsNullOrEmpty(txtRotateFlip.Text.Trim()))
- {
- e.Handled = true;
- return;
- }
- if (this.TargetBitmap != null)
- {
- try
- {
- decimal rotate = Convert.ToDecimal(txtRotateFlip.Text);
- if (rotate > 360 || rotate < -360)
- {
- MessageBox.Show(PdnResources.GetString("Menu.Rotationangleisoutofrange.text"));
- return;
- }
- else
- {
- Console.WriteLine(TargetBitmapClone.Width + " " + TargetBitmapClone.Height);
- TargetBitmap = ImageTools.RotateFlip(TargetBitmapClone, (float)rotate);
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- }
- catch (Exception)
- {
- MessageBox.Show(PdnResources.GetString("Menu.RotationAngleinputinvalid.text"));
- return;
- }
- }
- }
- /*只能数字键、退格键、负号、小数点*/
- if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 &&
- (int)e.KeyChar != 45 && (int)e.KeyChar != 46) e.Handled = true;
- /*输入为负号和小数点时,且只能输入一次(负号只能最前面输入,小数点不可最前面输入)*/
- if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 ||
- ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true;
- if (e.KeyChar == 46 && (((TextBox)sender).SelectionStart == 0 ||
- ((TextBox)sender).Text.IndexOf(".") >= 0)) e.Handled = true;
- }
- private void txtRotateFlip_Leave(object sender, EventArgs e)
- {
- if (this.TargetBitmap != null)
- {
- try
- {
- decimal rotate = Convert.ToDecimal(txtRotateFlip.Text);
- if (rotate > 360 || rotate < -360)
- {
- MessageBox.Show(PdnResources.GetString("Menu.Rotationangleisoutofrange.text"));
- return;
- }
- else
- {
- Console.WriteLine(TargetBitmapClone.Width + " " + TargetBitmapClone.Height);
- TargetBitmap = ImageTools.RotateFlip(TargetBitmapClone, (float)rotate);
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- }
- catch (Exception)
- {
- MessageBox.Show(PdnResources.GetString("Menu.RotationAngleinputinvalid.text"));
- return;
- }
- }
- }
- private void chkGrids_CheckedChanged(object sender, EventArgs e)
- {
- if (this.m_artWorkspace != null)
- {
- this.m_artWorkspace.GridLineFullEnabled = !this.m_artWorkspace.GridLineFullEnabled;
- this.m_artWorkspace.Refresh();
- }
- if (this.m_allWorkspace != null)
- {
- this.m_allWorkspace.GridLineFullEnabled = !this.m_allWorkspace.GridLineFullEnabled;
- this.m_allWorkspace.Refresh();
- }
- if (this.m_targetWorkspace != null)
- {
- this.m_targetWorkspace.GridLineFullEnabled = !this.m_targetWorkspace.GridLineFullEnabled;
- this.m_targetWorkspace.Refresh();
- }
- this.GridLineEnabled = chkGrids.Checked;
- }
- private void chkLine_CheckedChanged(object sender, EventArgs e)
- {
- if (this.m_artWorkspace != null)
- {
- this.m_artWorkspace.AuxiliaryLineEnabled = !this.m_artWorkspace.AuxiliaryLineEnabled;
- this.m_artWorkspace.Refresh();
- }
- if (this.m_allWorkspace != null)
- {
- this.m_allWorkspace.AuxiliaryLineEnabled = !this.m_allWorkspace.AuxiliaryLineEnabled;
- this.m_allWorkspace.Refresh();
- }
- if (this.m_targetWorkspace != null)
- {
- this.m_targetWorkspace.AuxiliaryLineEnabled = !this.m_targetWorkspace.AuxiliaryLineEnabled;
- this.m_targetWorkspace.Refresh();
- }
- this.AuxiliaryLineEnabled = chkLine.Checked;
- }
- private void btnRotateFlip_Click(object sender, EventArgs e)
- {
- if (this.TargetBitmap != null)
- {
- try
- {
- decimal rotate = Convert.ToDecimal(txtRotateFlip.Text);
- if (rotate > 360 || rotate < -360)
- {
- MessageBox.Show(PdnResources.GetString("Menu.Rotationangleisoutofrange.text"));
- return;
- }
- else
- {
- //Console.WriteLine(TargetBitmapClone.Width + " " + TargetBitmapClone.Height);
- TargetBitmap = ImageTools.RotateFlip(TargetBitmapClone, (float)rotate);
- //BaseTools.ImageRotate(TargetBitmapClone, TargetBitmap, 90f, OpenCvSharp.InterpolationFlags.Linear);
- OverlapBitmap = Overlap(OverlapType.CENTER);
- }
- }
- catch (Exception)
- {
- MessageBox.Show(PdnResources.GetString("Menu.RotationAngleinputinvalid.text"));
- return;
- }
- }
- }
- }
- }
|