⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winmain.menu.cs

📁 一个C#开发的类似PHOTOSHOP的软件,用到了很多图形算法.
💻 CS
📖 第 1 页 / 共 4 页
字号:
      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 + -