1、
利用橡皮筋类进行图片区域选取和操作
2、
实现:
1)声明橡皮筋类变量并初始化
将橡皮筋类变量声明为View类的成员变量,并在View类的构造函数中进行初始化。
public:
/*
* 橡皮筋
* 2010-09-25
*/
CRectTracker m_rectTracker;
//***
};
CShowPicture_256View::CShowPicture_256View()
{
// TODO: add construction code here
/*
* 初始化橡皮筋
* 2010-09-25
*/
m_rectTracker.m_nStyle = CRectTracker::resizeInside | CRectTracker::dottedLine;
}
注意:m_rectTracker.m_nStyle置为CRectTracker::dottedLine,鼠标释放后线框才会不消失。
2)在OnLButtonDown消息函数中利用橡皮筋类进行区域选择
Invalidate(true); //窗口重绘,使上一次所画的线框消失,这样客户区始终
//只有一个线框
//利用橡皮筋类进行区域选择
CClientDC dc(this);
m_rectTracker.TrackRubberBand( this, point, TRUE );
m_rectTracker.Draw( &dc );
CView::OnLButtonDown(nFlags, point);
}
3)利用m_rectTracker.m_rect记录的坐标对所选择的区域进行操作
这里对所选择区域的图像进行反色。