多边形裁剪
效果截图:
1.头文件定义:
enum Boundary{Left, Right, Bottom, Top};
int cj_line_x1;//裁剪直线时原直线的坐标
int cj_line_x2;
int cj_line_y1;
int cj_line_y2;
CPoint cj_win1;//裁剪窗口坐标,矩形窗口的对角坐标
CPoint cj_win2;
//多边形裁剪
int dbx_count;
CPoint ps[5];//这里以画五个顶点的多变形为例,而且不必初始化
以上定义的一定要在构造函数里初始化,不然会报错
具体实现:
//判断点在裁剪框内外
int CquhongjuanView::Inside(POINT p, Boundary b, POINT wMin, POINT wMax)
{
switch (b)
{
case Left:
if (p.x<