📄 winmain.menu.cs
字号:
SketchDialog dlg = new SketchDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void comicToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Comic((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void aquaToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Aqua((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void sepiaToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Sepia((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void colorizeToolStripMenuItem_Click(object sender, EventArgs e)
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
Color color = colorDialog.Color;
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Colorize((Bitmap)srcImage.Clone(), color.R, color.G, color.B);
SaveCanvas(srcImage, dstImage);
}
}
private void iceToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Ice((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void moltenToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Molten((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void darknessToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Darkness((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void subtenseToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Subtense((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void whimToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Whim((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void pinchToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "挤压";
dlg.Maximum = 32;
dlg.Minimum = 1;
dlg.Degree = 15;
dlg.Support = DegreeDialog.SupportMethod.Pinch;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void spherizeToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Spherize((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void swirlToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "漩涡";
dlg.Maximum = 100;
dlg.Minimum = 1;
dlg.Degree = 50;
dlg.Support = DegreeDialog.SupportMethod.Swirl;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void waveToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "波浪";
dlg.Maximum = 32;
dlg.Minimum = 1;
dlg.Degree = 15;
dlg.Support = DegreeDialog.SupportMethod.Wave;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void moireFringeToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "摩尔纹";
dlg.Maximum = 16;
dlg.Minimum = 1;
dlg.Degree = 3;
dlg.Support = DegreeDialog.SupportMethod.MoireFringe;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void diffuseToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "扩散";
dlg.Maximum = 32;
dlg.Minimum = 1;
dlg.Degree = 3;
dlg.Support = DegreeDialog.SupportMethod.Diffuse;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void findEdgeToolStripMenuItem_Click(object sender, EventArgs e)
{
AngleDialog dlg = new AngleDialog(this.canvasMain);
dlg.Text = "查找边缘";
dlg.Support = AngleDialog.SupportMethod.FindEdge;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void glowingEdgesToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.GlowingEdge((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void lightingToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "灯光";
dlg.Description = "光照强度";
dlg.Degree = 220;
dlg.Support = DegreeDialog.SupportMethod.Lighting;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void mosaicToolStripMenuItem_Click(object sender, EventArgs e)
{
DegreeDialog dlg = new DegreeDialog(this.canvasMain);
dlg.Text = "马赛克";
dlg.Maximum = 32;
dlg.Minimum = 1;
dlg.Degree = 5;
dlg.Support = DegreeDialog.SupportMethod.Mosaic;
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void oilPaintingToolStripMenuItem_Click(object sender, EventArgs e)
{
OilPaintingDialog dlg = new OilPaintingDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void solarizeToolStripMenuItem_Click(object sender, EventArgs e)
{
Effect f = new Effect();
Bitmap srcImage = this.canvasMain.Image;
Bitmap dstImage = f.Solarize((Bitmap)srcImage.Clone());
SaveCanvas(srcImage, dstImage);
}
private void customTemplateToolStripMenuItem_Click(object sender, EventArgs e)
{
CustomDialog dlg = new CustomDialog();
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 inosculateToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
InosculateDialog dlg = new InosculateDialog(this);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void magicToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
MagicDialog dlg = new MagicDialog(this);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
// 在 IE 中打开
ieToolStripMenuItem_Click(sender, e);
}
}
private void redEyeRemovalToolStripMenuItem_Click(object sender, EventArgs e)
{
RedEyeRemovalDialog dlg = new RedEyeRemovalDialog(this.canvasMain);
if (dlg.ShowDialog() == DialogResult.OK)
{
SaveCanvas();
}
}
private void artStringToolStripMenuItem_Click(object sender, EventArgs e)
{
ArtStringDialog dlg = new ArtStringDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
string destFile = saveFolder + history.Current.ToString() + ".txt";
Effect f = new Effect();
string text = f.Image2Text((Bitmap)this.canvasMain.Image.Clone(), dlg.ArtString, dlg.BlockWidth, dlg.BlockHeight);
StreamWriter myStreamWriter = new StreamWriter(destFile, false, System.Text.Encoding.Default);
myStreamWriter.Write(text);
myStreamWriter.Close();
MessageBox.Show("图像文件已被成功转换为文本文件!", "友情提醒",
MessageBoxButtons.OK, MessageBoxIcon.Information);
System.Diagnostics.Process.Start("NOTEPAD.EXE", destFile);
}
}
/******************************
*
* 科研应用菜单
*
******************************/
/// <summary>
/// 代数运算
/// </summary>
/// <param name="algebraMethod">代数运算方法</param>
private void AlgebraOperate(Algebra.AlgebraMethod algebraMethod)
{
Algebra a = new Algebra();
a.BackgroundRegion = new Region(new Rectangle(0, 0, this.canvasMain.Width, this.canvasMain.Height));
a.ForegroundRegion = new Region(this.layer.Bounds);
Bitmap bgImage = (Bitmap)this.canvasMain.Image.Clone();
Bitmap fgImage = (Bitmap)this.layer.Image.Clone();
Bitmap dstImage = a.AlgebraOperate(bgImage, fgImage, algebraMethod);
this.canvasMain.Image = dstImage;
SaveCanvas();
this.layer.Visible = false;
}
/// <summary>
/// 逻辑运算
/// </summary>
/// <param name="logicMethod">逻辑运算方法</param>
private void LogicOperate(Logic.LogicMethod logicMethod)
{
Logic l = new Logic();
l.BackgroundRegion = new Region(new Rectangle(0, 0, this.canvasMain.Width, this.canvasMain.Height));
l.ForegroundRegion = new Region(this.layer.Bounds);
Bitmap bgImage = (Bitmap)this.canvasMain.Image.Clone();
Bitmap fgImage = (Bitmap)this.layer.Image.Clone();
Bitmap dstImage = l.LogicOperate(bgImage, fgImage, logicMethod);
this.canvasMain.Image = dstImage;
SaveCanvas();
this.layer.Visible = false;
}
private void algebraAddToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Add);
}
private void algebraSubtractToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Subtract);
}
private void algebraMultiplyToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Multiply);
}
private void algebraDivideToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Divide);
}
private void algebraAverageToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Average);
}
private void algebraDifferToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
return;
AlgebraOperate(Algebra.AlgebraMethod.Differ);
}
private void algebraMaximizeToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.layer.Visible)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -