📄 winmain.menu.cs
字号:
Bitmap dstImage = a.Invert((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void pseudoColorToolStripMenuItem_Click(object sender, EventArgs e)
{
PseudoColorDialog dlg = new PseudoColorDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void rotateChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.RotateChannel((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void redExtractChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.ExtractChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Red);
SaveCanvas(srcImage, dstImage);
}
private void greenExtractChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.ExtractChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Green);
SaveCanvas(srcImage, dstImage);
}
private void blueExtractChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.ExtractChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Blue);
SaveCanvas(srcImage, dstImage);
}
private void redFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Red);
SaveCanvas(srcImage, dstImage);
}
private void greenFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Green);
SaveCanvas(srcImage, dstImage);
}
private void blueFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Blue);
SaveCanvas(srcImage, dstImage);
}
private void cyanFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Cyan);
SaveCanvas(srcImage, dstImage);
}
private void megentaFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Megenta);
SaveCanvas(srcImage, dstImage);
}
private void yellowFilterChannelToolStripMenuItem_Click(object sender, EventArgs e)
{
Adjustment a = new Adjustment();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = a.FilterChannel((Bitmap)srcImage.Clone(), Adjustment.ChannelMode.Yellow);
SaveCanvas(srcImage, dstImage);
}
private void mappingToolStripMenuItem_Click(object sender, EventArgs e)
{
MappingDialog dlg = new MappingDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void equalizerToolStripMenuItem_Click(object sender, EventArgs e)
{
Bitmap srcImage = this.canvasMain.Image;
Histogram h = new Histogram((Bitmap)srcImage.Clone());
Bitmap dstImage = h.Equalizer();
SaveCanvas(srcImage, dstImage);
}
/******************************
*
* 图像菜单
*
******************************/
private void translationToolStripMenuItem_Click(object sender, EventArgs e)
{
TranslationDialog dlg = new TranslationDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void resizeToolStripMenuItem_Click(object sender, EventArgs e)
{
ResizeDialog dlg = new ResizeDialog((Bitmap)this.canvasMain.Image);
if (dlg.ShowDialog() == DialogResult.OK)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Resize(this.canvasMain.Image, dlg.NewWidth, dlg.NewHeight);
SaveCanvas();
}
}
private void cropToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Crop(this.canvasMain.Image, this.canvasMain.SelectedRegion);
SaveCanvas();
}
private void rotateCW90ToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Rotate(this.canvasMain.Image, -90);
SaveCanvas();
}
private void rotateCCW90ToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Rotate(this.canvasMain.Image, 90);
SaveCanvas();
}
private void rotateArbitraryToolStripMenuItem_Click(object sender, EventArgs e)
{
AngleDialog dlg = new AngleDialog(this.canvasMain);
dlg.Text = "旋转";
dlg.Support = AngleDialog.SupportMethod.Rotate;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void flipHorzToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Flip(this.canvasMain.Image, true);
SaveCanvas();
}
private void flipVertToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Flip(this.canvasMain.Image, false);
SaveCanvas();
}
private void transposeToolStripMenuItem_Click(object sender, EventArgs e)
{
ImageTransform it = new ImageTransform();
this.canvasMain.Image = it.Transpose(this.canvasMain.Image);
SaveCanvas();
}
private void slantToolStripMenuItem_Click(object sender, EventArgs e)
{
SlantDialog dlg = new SlantDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void trimToolStripMenuItem_Click(object sender, EventArgs e)
{
TrimDialog dlg = new TrimDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void histogramToolStripMenuItem_Click(object sender, EventArgs e)
{
HistogramDialog dlg = new HistogramDialog(this.canvasMain.Image);
dlg.ShowDialog();
}
/******************************
*
* 特效滤镜菜单
*
******************************/
private void smoothToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Smooth((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void gaussBlurToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.GaussBlur((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void motionBlurToolStripMenuItem_Click(object sender, EventArgs e)
{
MotionBlurDialog dlg = new MotionBlurDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void radialBlurToolStripMenuItem_Click(object sender, EventArgs e)
{
AngleDialog dlg = new AngleDialog(this.canvasMain);
dlg.Text = "径向模糊";
dlg.Support = AngleDialog.SupportMethod.RadialBlur;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void sharpenToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Sharpen((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void sharpenMoreToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.SharpenMore((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void sharpenFreeToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "锐化";
dlg.Description = "锐化度调节";
dlg.Minimum = 1;
dlg.Maximum = 100;
dlg.Degree = 10;
dlg.Support = DegreeDialog.SupportMethod.Sharpen;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void unsharpMaskToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "钝化蒙板";
dlg.Description = "钝化度调节";
dlg.Minimum = 1;
dlg.Maximum = 100;
dlg.Degree = 10;
dlg.Support = DegreeDialog.SupportMethod.UnsharpMask;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void laplacianEmbossToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Emboss((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void directionEmbossToolStripMenuItem_Click(object sender, EventArgs e)
{
DirectionDialog dlg = new DirectionDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void grayEmbossToolStripMenuItem_Click(object sender, EventArgs e)
{
AngleDialog dlg = new AngleDialog(this.canvasMain);
dlg.Text = "灰度浮雕";
dlg.Support = AngleDialog.SupportMethod.Emboss;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void reliefToolStripMenuItem_Click(object sender, EventArgs e)
{
AngleDialog dlg = new AngleDialog(this.canvasMain);
dlg.Text = "彩色浮雕";
dlg.Support = AngleDialog.SupportMethod.Relief;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void addNoiseToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "新增杂点";
dlg.Maximum = 255;
dlg.Degree = 20;
dlg.Support = DegreeDialog.SupportMethod.AddNoise;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void sprinkleToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "雪花杂点";
dlg.Description = "雪花抛撒概率";
dlg.Maximum = 100;
dlg.Degree = 5;
dlg.Support = DegreeDialog.SupportMethod.Sprinkle;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void paperCutToolStripMenuItem_Click(object sender, EventArgs e)
{
PaperCutDialog dlg = new PaperCutDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void sketchToolStripMenuItem_Click(object sender, EventArgs e)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -