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

📄 winmain.tool.cs

📁 一个C#开发的类似PHOTOSHOP的软件,用到了很多图形算法.
💻 CS
📖 第 1 页 / 共 2 页
字号:
          break;

        case ToolType.Eraser:
          eraserTool = new EraserTool(this.canvasMain);
          eraserTool.DrawingFinished += new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Line:
          lineTool = new LineTool(this.canvasMain);
          lineTool.DrawingFinished += new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Rectangle:
          rectangleTool = new RectangleTool(this.canvasMain);
          rectangleTool.DrawingFinished += new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Text:
          textTool = new TextTool(this);
          textTool.DrawingFinished += new EventHandler(this.SaveCanvas);
          break;

        case ToolType.ColorPicker:
          colorPickerTool = new ColorPickerTool(this);
          break;

        case ToolType.PaintBucket:
          paintBucketTool = new PaintBucketTool(this.canvasMain);
          paintBucketTool.DrawingFinished += new EventHandler(this.SaveCanvas);
          break;
      }
    }

    /// <summary>
    /// 激活工具
    /// </summary>
    /// <param name="toolType">工具类型</param>
    private void ActivateToolbox(ToolType toolType)
    {
      switch (toolType)
      {
        case ToolType.Move:
          this.moveToolStripButton.Checked = true;
          break;

        case ToolType.RectangleSelect:
          this.rectangleSelectToolStripButton.Checked = true;
          rectangleSelectTool.OnActivate();
          break;

        case ToolType.EllipseSelect:
          this.ellipseSelectToolStripButton.Checked = true;
          ellipseSelectTool.OnActivate();
          break;

        case ToolType.LassoSelect:
          this.lassoSelectToolStripButton.Checked = true;
          lassoSelectTool.OnActivate();
          break;

        case ToolType.Pencil:
          this.pencilToolStripButton.Checked = true;
          pencilTool.OnActivate();
          break;

        case ToolType.Brush:
          this.brushToolStripButton.Checked = true;
          brushTool.OnActivate();
          break;

        case ToolType.Eraser:
          this.eraserToolStripButton.Checked = true;
          eraserTool.OnActivate();
          break;

        case ToolType.Line:
          this.lineToolStripButton.Checked = true;
          lineTool.OnActivate();
          break;

        case ToolType.Rectangle:
          this.rectangleToolStripButton.Checked = true;
          rectangleTool.OnActivate();
          break;

        case ToolType.Text:
          this.textToolStripButton.Checked = true;
          textTool.OnActivate();
          break;

        case ToolType.ColorPicker:
          this.colorPickerToolStripButton.Checked = true;
          colorPickerTool.OnActivate();
          break;

        case ToolType.PaintBucket:
          this.paintBucketToolStripButton.Checked = true;
          paintBucketTool.OnActivate();
          break;
      }
    }

    /// <summary>
    /// 释放工具
    /// </summary>
    /// <param name="toolType">工具类型</param>
    private void DeactivateToolbox(ToolType toolType)
    {
      switch (toolType)
      {
        case ToolType.Move:
          this.moveToolStripButton.Checked = false;
          break;

        case ToolType.RectangleSelect:
          this.rectangleSelectToolStripButton.Checked = false;
          rectangleSelectTool.OnDeactivate();
          break;

        case ToolType.EllipseSelect:
          this.ellipseSelectToolStripButton.Checked = false;
          ellipseSelectTool.OnDeactivate();
          break;

        case ToolType.LassoSelect:
          this.lassoSelectToolStripButton.Checked = false;
          lassoSelectTool.OnDeactivate();
          break;

        case ToolType.Pencil:
          this.pencilToolStripButton.Checked = false;
          pencilTool.OnDeactivate();
          pencilTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Brush:
          this.brushToolStripButton.Checked = false;
          brushTool.OnDeactivate();
          brushTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Eraser:
          this.eraserToolStripButton.Checked = false;
          eraserTool.OnDeactivate();
          eraserTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Line:
          this.lineToolStripButton.Checked = false;
          lineTool.OnDeactivate();
          lineTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Rectangle:
          this.rectangleToolStripButton.Checked = false;
          rectangleTool.OnDeactivate();
          rectangleTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.Text:
          this.textToolStripButton.Checked = false;
          textTool.OnDeactivate();
          textTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;

        case ToolType.ColorPicker:
          this.colorPickerToolStripButton.Checked = false;
          colorPickerTool.OnDeactivate();
          break;

        case ToolType.PaintBucket:
          this.paintBucketToolStripButton.Checked = false;
          paintBucketTool.OnDeactivate();
          paintBucketTool.DrawingFinished -= new EventHandler(this.SaveCanvas);
          break;
      }
    }

    /// <summary>
    /// 更新工具
    /// </summary>
    /// <param name="toolType">工具类型</param>
    private void UpdateToolbox(ToolType toolType)
    {
      switch (toolType)
      {
        case ToolType.Move:
          break;

        case ToolType.RectangleSelect:
          break;

        case ToolType.EllipseSelect:
          break;

        case ToolType.LassoSelect:
          break;

        case ToolType.Pencil:
          pencilTool.BackColor = this.backColor;
          pencilTool.ForeColor = this.foreColor;
          pencilTool.BrushWidth = this.brushWidth;
          break;

        case ToolType.Brush:
          brushTool.BackColor = this.backColor;
          brushTool.ForeColor = this.foreColor;
          brushTool.BrushWidth = this.brushWidth;
          brushTool.FillStyle = this.hatchStyle;
          brushTool.HasBrushStyle = this.hasBrushStyle;
          break;

        case ToolType.Eraser:
          eraserTool.BrushWidth = this.brushWidth;
          break;

        case ToolType.Line:
          lineTool.BackColor = this.backColor;
          lineTool.ForeColor = this.foreColor;
          lineTool.BrushWidth = this.brushWidth;
          break;

        case ToolType.Rectangle:
          rectangleTool.BackColor = this.backColor;
          rectangleTool.ForeColor = this.foreColor;
          rectangleTool.BrushWidth = this.brushWidth;
          break;

        case ToolType.Text:
          break;

        case ToolType.ColorPicker:
          break;

        case ToolType.PaintBucket:
          paintBucketTool.BackColor = this.backColor;
          paintBucketTool.ForeColor = this.foreColor;
          break;
      }
    }

    private void moveToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Move);
    }

    private void rectangleSelectToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.RectangleSelect);
    }

    private void ellipseSelectToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.EllipseSelect);
    }

    private void lassoSelectToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.LassoSelect);
    }

    private void pencilToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Pencil);
    }

    private void brushToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Brush);
    }

    private void eraserToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Eraser);
    }

    private void lineToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Line);
    }

    private void rectangleToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Rectangle);
    }

    private void textToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.Text);
    }

    private void colorPickerToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.ColorPicker);
    }

    private void paintBucketToolStripButton_Click(object sender, EventArgs e)
    {
      ToolboxClick(ToolType.PaintBucket);
    }


  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -