用gdi绘图,如何使得绘制的曲线只在一个矩型内,外部就不显示,该怎么做?
Graphics g = this.CreateGraphics ();
Pen mypen1 = new Pen (Color.Plum,2 );
//计算给个点的相对坐标;
PointF[] point1 = new PointF [d1.Length/6 ];
double nd = d3[0];
int i=0;
for(int j = 0; nd == d3[i];j++)
{
if(d1[i]> 0)
{
d1[i] = xyd + (d1[i]*40/xzb);
}
else if(d1[i] == 0)
{
d1[i] = xyd;
}
else
{
d1[i] = xyd - Math.Abs (d1[i])*40/xzb ;
}
if(d2[i]> 0)
{
d2[i] = yyd - d2[i]*40/yzb ;
}
else if(d2[i] == 0)
{
d2[i] = yyd;
}
else
{
d2[i] = yyd + (Math.Abs (d2[i])*40/yzb);
}
point1[j] = new PointF ( (float)(d1[i]) ,(float)(d2[i]) );
i++;
}
g.DrawClosedCurve (mypen1,point1);
------解决方案--------------------可以对g使用SetClip(Rectangle)来限定绘制的区域是指定的矩形区域或其它区域.
------解决方案--------------------限定一个区域啊.