0

画像ボックスに異なる線 (黄色と青) があり、たとえば次のように描画されます。

imout.Draw(new LineSegment2DF(new PointF(lastEndX, lastEndY), 
                              new PointF(lastEndX + avgX, lastEndY + avgY)), 
           new Bgr(Color.Yellow), 2);  

imout 変数は、以前のコードのどこかで次のように定義されています。

imout = new Image<Bgr, byte>(new Size(maxX + 90, maxY + 90));  
pictureBox2.Image = imout.Bitmap;

ユーザーが listBox3 からポイントを選択すると、次のコードに示すように、それらの線に円が描画され、ユーザーが指している場所が示されます。

    private void listBox3_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        var selection = listBox3.SelectedItem;    
        PointF selcF = (PointF)selection;    
        PointF RR = optFlowPonitsRawcoords.Find(p => p == selcF);    
        RR.Y = imout.Height - RR.Y;  
        imout.Draw(new CircleF(RR, 5), new Bgr(Color.Pink), 1);  
        pictureBox2.Image = imout.Bitmap;  
    }

しかし、ユーザーが listBox から別のポイントを選択すると、以前のポイントがクリアされる前に描画され、新しく選択されたポイントだけが画像に表示されます。

それはどのように可能ですか?

4

0 に答える 0