2011-12-09 8 views
0

画像をロードして、画像のエッジを画像化したい場合は、マウスを使って同じ画像に余分な線を描きたいのですが、後で画像を消去することなく描いた線をマウスで消去したいと思っています。 私はすべてのケースでどの機能を使うべきかわかりません.1つの方法は、私のイメージでパネルのbackgroundImageを設定し、paintA関数を使ってexta行をマウスの_drawnで描くことです。私はボタンをクリックしてedges_drawnの線を描画するために使用する必要がありますか?より良い方法がありますか?私を案内してください。事前におねがいします。ボタンをクリックして形状を描画し、マウスでその上に線を描く

+0

を助ける段落のアンダースコアとは何次第ですか?それはC#ではありません、そうですか? :)あなたは何を使用していますか?WinFormsまたはWPF? – Nayan

+0

これはC#です。私はテガードとしてwinformsを使用しています。アンダースコープを使用して、その前の単語の詳細を説明しました。 –

答えて

0

は、コード..hope下記参照、これはあなたに

Point startPoint = new Point(); 
bool dragging = false; 

int testOne = 30; 
int testTwo = 30; 

private void pictureBox1_MouseMove(object sender, MouseEventArgs e) 
{ 
    if (dragging) 
    { 
     int diffX = (pictureBox1.PointToClient(e.Location).X - startPoint.X); 
     int diffY = (pictureBox1.PointToClient(e.Location).Y - startPoint.Y); 

     label9.Text = diffX.ToString(); //Works, shows desired result 
     label10.Text = diffY.ToString(); //also works fine 

     testOne = (testOne + diffX); //Issue here 
     testTwo = (testTwo + diffY); //and here 

     label11.Text = (testOne).ToString(); //Unexpected results output 
     label12.Text = (testTwo).ToString(); 
    } 
} 

private void pictureBox1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (!dragging) //Incase the mouse down was repeating, it's not 
    { 
     startPoint = pictureBox1.PointToClient(e.Location); 
     dragging = true; 
    } 
} 

private void pictureBox1_MouseUp(object sender, MouseEventArgs e) 
{ 
    if (dragging) 
     dragging = false; 
} 
+0

あなたの答えをありがとうございます。私は検索した絵のボックスは、図面の場合は冗長です。この文は本当ですか? –

関連する問題