我需要在picturebox的一个矩形区域内画圆,画圆方式用DrawEllipse画出,但当圆的半径很大时,圆边界超出了我指定的画图矩形框,我怎么控制超出的部分不画,也就是不显示出来,谢谢!

解决方案 »

  1.   

    用if判断下。如果你画的圆超过啦你指定的条件,就是
    if条件里的判断语句,你就返回false,就是不画撒~~
    LZ结贴,拿分
      

  2.   

    要不你把指定的那个矩形替换成picturebox好了,picturebox可以动态创建不然很搞人的,你还要判断矩形和圆相交点,再画一段一段的弧线这样的方式来,更烦人
      

  3.   


    整体都是picturebox,因为我要在上面做东西,一段段画是很烦人,速度还有局限呢 如果picturebox的内部有个矩形,怎么把这个矩形框的外部填充一下底色也行,但我只会填充内部最笨的方法是分成四部分来填充,不知道还有没有别的好方法
      

  4.   

    Region reg = new Region(PicRectangle); //PicRectangle picturebox的矩形
    g.DrawEllipse(Pens.Black,reg);
    行不?