参数为线段2断点坐标 //线段裁剪 int Clip_Line(int &iX1,int &iY1,int &iX2, int &iY2) { //点所在区域位标识 #define CLIP_CODE_C 0x0000 #define CLIP_CODE_N 0x0008 #define CLIP_CODE_S 0x0004 #define CLIP_CODE_E 0x0002 #define CLIP_CODE_W 0x0001 #define CLIP_CODE_NE 0x000a #define CLIP_CODE_SE 0x0006 #define CLIP_CODE_NW 0x0009 #define CLIP_CODE_SW 0x0005 int iXc1=iX1, iYc1=iY1, iXc2=iX2, iYc2=iY2; int p1_code=0, p2_code=0; //判断点所在位置并生成标识代码 if (iY1 < min_clip_y) p1_code|=CLIP_CODE_N; else if (iY1 > max_clip_y) p1_code|=CLIP_CODE_S; if (iX1 < min_clip_x) p1_code|=CLIP_CODE_W; else if (iX1 > max_clip_x) p1_code|=CLIP_CODE_E; if (iY2 < min_clip_y) p2_code|=CLIP_CODE_N; else if (iY2 > max_clip_y) p2_code|=CLIP_CODE_S; if (iX2 < min_clip_x) p2_code|=CLIP_CODE_W; else if (iX2 > m