2017-10-05 5 views
-1

私は複数の画像をC#のコードでカットしたいと思っています。次の画像は私のC#フォーラムであり、領域を選択してカットすることができます。C#で複数の画像をカットする方法は?

enter image description here

私はこのプロセス プライベートボイドbtnKes_Click(オブジェクト送信者、のEventArgs電子) {INT tiklanma = 0を繰り返したいC#コード でつのピクチャ複数カットします。 if(真) { tiklanma ++; } pictureBox2.Refresh();

  pictureBox2.Refresh(); 

      Bitmap sourceBitmap = new Bitmap(pictureBox1.Image, pictureBox1.Width, pictureBox1.Height); 
      Graphics g = pictureBox2.CreateGraphics(); 

      int x1, x2, y1, y2; 

      Int32.TryParse(txtX1.Text, out x1); 
      Int32.TryParse(txtX2.Text, out x2); 
      Int32.TryParse(txtY1.Text, out y1); 
      Int32.TryParse(txtY2.Text, out y2); 


      if ((x1 < x2 && y1 < y2)) 
      { 
       rectCropArea = new Rectangle(x1, y1, x2 - x1, y2 - y1); 
      } 
      else if (x2 < x1 && y2 > y1) 
      { 
       rectCropArea = new Rectangle(x2, y1, x1 - x2, y2 - y1); 
      } 
      else if (x2 > x1 && y2 < y1) 
      { 
       rectCropArea = new Rectangle(x1, y2, x2 - x1, y1 - y2); 
      } 
      else 
      { 
       rectCropArea = new Rectangle(x2, y2, x1 - x2, y1 - y2); 
      } 

      pictureBox1.Refresh(); // This repositions the dashed box to new location as per coordinates entered. 
      int sayac = 40; 

      for (int i = 0; i < tiklanma; i++) 
      { 

       PictureBox pcBx = new PictureBox(); 
       Size size = new Size(100, 100); 
       pcBx.Location(); 

       pcBx.Size = size; 

       g.DrawImage(sourceBitmap, new Rectangle(0, 0, rectCropArea.Width, rectCropArea.Height), rectCropArea, GraphicsUnit.Pixel); 
      } 

      sourceBitmap.Dispose(); 
     } 

2番目の画像で複数のフィールドを選択してフィールドを保存したいとします。これどうやってするの? enter image description here enter image description here

+1

[so]は無料コード作成サービスではありません。 **あなた自身でコードを書くことを試みることが期待されます**。 [もっと研究をして](http://meta.stackoverflow.com/questions/261592)問題がある場合は**あなたが試したことを投稿することができます** **動作していないことの明確な説明**を提供し、** [mcve] **を提供します。私は良い質問と[完璧な質問]を読むことをお勧めします(http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。また、[ツアー]も必ず行ってください。 – Igor

答えて

1

FlowLayoutPanelを使用して、あなたはメイン画像の上に新しいセグメントを描画するたびに、レイアウトパネルに新しいPictureBoxコントロールを追加します。

最終的には、これらのピクチャセグメントで他のことをしたいので、ここでは、PictureBoxを1つの部分として含むカスタム/ユーザコントロールをすぐにお勧めします。これにより、後で各画像にボタンやコンテキストを使用するのがずっと簡単になります。

このすべての詳細は、このタイプの質問の対象外です。私たちの答えに適切な文脈を使用できるようにするためには、より多くのコードを参照する必要があります。その結果は、単純なQ &形式に収まります。だから、あなたができることを試してみてから、もっと具体的な問題にぶつかったときに新しい質問をする。

+0

Okeyコードを追加します –

関連する問題