C# 4.0 c#windows窗体中的裁剪区域选择控件(如photoshop';s)

C# 4.0 c#windows窗体中的裁剪区域选择控件(如photoshop';s),c#-4.0,C# 4.0,如何在widows表单应用程序的c#4.0中开发类似photoshop的作物选择控件 我有一个c#4.0版的windows窗体应用程序,可以裁剪图像。首先,您必须使用鼠标绘制一个矩形来选择裁剪区域 private Point _pt; private Point _pt2; private void picBoxImageProcessing_MouseDown(object sender, MouseEventArgs e) { if (e.Button == M

如何在widows表单应用程序的c#4.0中开发类似photoshop的作物选择控件

我有一个c#4.0版的windows窗体应用程序,可以裁剪图像。首先,您必须使用鼠标绘制一个矩形来选择裁剪区域

  private Point _pt;
  private Point _pt2;
   private void picBoxImageProcessing_MouseDown(object sender, MouseEventArgs e)
    {

   if (e.Button == MouseButtons.Left)
   {
       int ix = (int)(e.X / _zoom);
       int iy = (int)(e.Y / _zoom);

       //reset _pt2
       _pt2 = new Point(0, 0);
       _pt = new Point(ix, iy);

       // pictureBox1.Invalidate();
       picBoxImageProcessing.Invalidate();
   }
}

 private void picBoxImageProcessing_MouseUp(object sender, MouseEventArgs e)
 {
    if (e.Button == MouseButtons.Left && _selecting)
    {
       _selecting = false;
    }
 }

  private void picBoxImageProcessing_Paint(object sender, PaintEventArgs e)
  {


     if (_selecting &&_pt.X >= 0 && _pt.Y >= 0 && _pt2.X >= 0 && _pt2.Y >= 0)
        {

            e.Graphics.DrawRectangle(pen, _pt.X * _zoom, _pt.Y * _zoom, 
                      (_pt2.X - _pt.X)          *         _zoom, (_pt2.Y - _pt.Y) * _zoom);
         }
   } 

       private void picBoxImageProcessing_MouseMove(object sender, MouseEventArgs e)
      {


       if (e.Button == MouseButtons.Left)
        {
         _selecting = true;
         int ix = (int)(e.X / _zoom);
         int iy = (int)(e.Y / _zoom);

         _pt2 = new Point(ix, iy);

         //  pictureBox1.Invalidate();
           picBoxImageProcessing.Invalidate();
         }
     }
通过鼠标拖动绘制矩形没有问题。但是如果我想改变矩形的高度或宽度,那么我必须画一个我不想要的新矩形。我想通过修改绘制的矩形而不是绘制新的矩形来更改矩形的高度和宽度。 我不想知道如何收割。我需要在图像上画一个可调整大小的矩形,就像我们在photoshop中所做的那样


所以我需要一个裁剪选择控件,就像photoshop的裁剪控件。

Hi!我也对这个感兴趣,你找到办法了吗?