先剪切首先要进行创建一个图形区域
这里列举几个
1,CreateEllipiticRgn:用于创建椭圆区域。
2,CreatePolygonRgn:用于创建多边形区域。
3,CreateRectRgn:用于创建矩形区域。
4,CreateRoundRgn:用于创建圆角矩形区域。
形式为HGRN CreatePolygonRgn(const POINT *ppt1,int cpoint,int iMode);
这里const POINT*ppt1用于保存每个点的坐标
cPoint为多边形顶点数
iMode为多边形填充模式
在使用完成后需要将剪切区域设置为空 ,这样后面的绘制不受剪切区域的影响
这样写代码setcliprgn(NULL)
然后在销毁之前创建的区域
DeleteObject(zh);这里zh为自己设置的返回值;
接下来附上我今天的代码运行效果
#include<easyx.h>
#include<stdio.h>
#include<math.h>
#define PI 3.14
int main()
{
initgraph(800,800);
setorigin(400,400);
setaspectratio(1,-1);
setbkcolor(WHITE);
cleardevice();
setlinecolor(BLUE);
setlinestyle(PS_SOLID,10);
HRGN ZH=CreateEllipticRgn(250,250,550,550);
setcliprgn(ZH);
int r=150;
int i=0;
int x,y;
circle(0,0,150);
for(i=0;i<6;i++)
{
x=cos(i*PI/3)*r;
y=sin(i*PI/3)*r;
circle(x,y,r);
}
setcliprgn(NULL);
DeleteObject(ZH);
getchar();
closegraph();
return 0;
}
此为2010版本 学校要求下载的