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