我使用INewLineFeedback画橡皮线,一开始的代码如是
private INewLineFeedback pLineFeed = new NewLineFeedback();
private void DrawLine()
{
pLineFeed.Symbol.ROP2 =esriRasterOpCode.esriROPNotXOrPen;
if(m_tempPoint!=null)
{
pLineFeed.Start(m_startpoint);
pLineFeed.MoveTo(m_tempPoint);
}
pLineFeed.Start(m_startpoint);
pLineFeed.MoveTo(m_endpoint);
m_tempPoint = m_endpoint;
}
当画第n条的时候,就会有n个起始点,一起朝向move的点,起初不明白怎么回事,但仔细想想,那些起始点都是自己曾经点过的点,我想INewLineFeedback会自动存储其start过的点,后来一试果然如此
只要在画完自己想要的线后,stop一下,就会把先前所有的start点都干掉,达到预期的目标了
private INewLineFeedback pLineFeed = new NewLineFeedback();
private void DrawLine()
{
pLineFeed.Symbol.ROP2 =esriRasterOpCode.esriROPNotXOrPen;
if(m_tempPoint!=null)
{
pLineFeed.Start(m_startpoint);
pLineFeed.MoveTo(m_tempPoint);
}
pLineFeed.Start(m_startpoint);
pLineFeed.MoveTo(m_endpoint);
m_tempPoint = m_endpoint;
}
当画第n条的时候,就会有n个起始点,一起朝向move的点,起初不明白怎么回事,但仔细想想,那些起始点都是自己曾经点过的点,我想INewLineFeedback会自动存储其start过的点,后来一试果然如此
只要在画完自己想要的线后,stop一下,就会把先前所有的start点都干掉,达到预期的目标了