📄 winmain.menu.cs
字号:
return;
AlgebraOperate(Algebra.AlgebraMethod.Maximize);
}
private void algebraMinimumToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Minimum);
}
private void logicAndToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
LogicOperate(Logic.LogicMethod.And);
}
private void logicOrToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
LogicOperate(Logic.LogicMethod.Or);
}
private void logicNotToolStripMenuItem_Click(object sender, EventArgs e)
{
Logic l = new Logic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = l.LogicNot((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void logicXorToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
LogicOperate(Logic.LogicMethod.Xor);
}
private void autoFitThresholdToolStripMenuItem_Click(object sender, EventArgs e)
{
GrayProcessing gp = new GrayProcessing();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = gp.AutoFitThreshold((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void areaToolStripMenuItem_Click(object sender, EventArgs e)
{
RegionDialog dlg = new RegionDialog(this.canvasMain);
dlg.Text = "区域面积信息";
dlg.IsShowContour = false;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void perimeterToolStripMenuItem_Click(object sender, EventArgs e)
{
RegionDialog dlg = new RegionDialog(this.canvasMain);
dlg.Text = "区域周长信息";
dlg.IsShowContour = true;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void clearSmallAreaToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "消除小区域";
dlg.Description = "阈值调节";
dlg.Maximum = 100;
dlg.Degree = 33;
dlg.Support = DegreeDialog.SupportMethod.ClearSmallArea;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void contourPickToolStripMenuItem_Click(object sender, EventArgs e)
{
Segmentation s = new Segmentation();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = s.ContourPick((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void contourTraceToolStripMenuItem_Click(object sender, EventArgs e)
{
Segmentation s = new Segmentation();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = s.ContourTrace((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void projectHorzToolStripMenuItem_Click(object sender, EventArgs e)
{
Segmentation s = new Segmentation();
this.canvasMain.Image = s.Project(this.canvasMain.Image, true);
SaveCanvas();
}
private void projectVertToolStripMenuItem_Click(object sender, EventArgs e)
{
Segmentation s = new Segmentation();
this.canvasMain.Image = s.Project(this.canvasMain.Image, false);
SaveCanvas();
}
private void erosionHorzToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.ErosionHorz((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void erosionVertToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.ErosionVert((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void erosionCrossToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.ErosionCross((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void dilationHorzToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.DilationHorz((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void dilationVertToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.DilationVert((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void dilationCrossToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.DilationCross((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void openingToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.Opening((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void closingToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.Closing((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void thinningToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.Thinning((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void thickeningToolStripMenuItem_Click(object sender, EventArgs e)
{
Morphologic m = new Morphologic();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = m.Thickening((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void meanNNToolStripMenuItem_Click(object sender, EventArgs e)
{
FilterDialog dlg = new FilterDialog(this.canvasMain);
dlg.Support = Filter.FilteringMethod.Mean;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void autoFitToolStripMenuItem_Click(object sender, EventArgs e)
{
Filter f = new Filter();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.FilterAutoFit((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void medianNNToolStripMenuItem_Click(object sender, EventArgs e)
{
FilterDialog dlg = new FilterDialog(this.canvasMain);
dlg.Support = Filter.FilteringMethod.Median;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void medianCrossToolStripMenuItem_Click(object sender, EventArgs e)
{
FilterDialog dlg = new FilterDialog(this.canvasMain);
dlg.Support = Filter.FilteringMethod.Median;
dlg.IsWindowFiltering = false;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void maxNNToolStripMenuItem_Click(object sender, EventArgs e)
{
FilterDialog dlg = new FilterDialog(this.canvasMain);
dlg.Support = Filter.FilteringMethod.Maximum;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void minNNToolStripMenuItem_Click(object sender, EventArgs e)
{
FilterDialog dlg = new FilterDialog(this.canvasMain);
dlg.Support = Filter.FilteringMethod.Minimum;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void robertsToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.Roberts((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void sobelToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.Sobel((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void prewittToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.Prewitt((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void kirschToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.Kirsch((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void gaussLaplacianToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.GaussLaplacian((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void edgeDetectHorzToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.EdgeDetectHorizontal((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void edgeDetectVertToolStripMenuItem_Click(object sender, EventArgs e)
{
EdgeDetect ed = new EdgeDetect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = ed.EdgeDetectVertical((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void edgeEnhanceToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "边缘增强";
dlg.Description = "阈值调节";
dlg.Maximum = 64;
dlg.Degree = 16;
dlg.Support = DegreeDialog.SupportMethod.EdgeEnhance;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void edgeHomogenizeToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "边缘均衡化";
dlg.Description = "阈值调节";
dlg.Maximum = 64;
dlg.Degree = 16;
dlg.Support = DegreeDialog.SupportMethod.EdgeHomogenize;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void advancedToolStripMenuItem_Click(object sender, EventArgs e)
{
AdvancedDialog dlg = new AdvancedDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Custom((Bitmap)srcImage.Clone(), dlg.Sequence);
SaveCanvas(srcImage, dstImage);
}
}
/******************************
*
* 帮助菜单
*
******************************/
private void contentToolStripMenuItem_Click(object sender, EventArgs e)
{
if (DialogResult.OK == MessageBox.Show(
"请到本软件官方发布网站查看软件最新动向!\nhttp://www.PhotoSprite.com",
"友情提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Information))
System.Diagnostics.Process.Start("http://www.PhotoSprite.com");
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox dlg = new AboutBox();
dlg.ShowDialog();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -