void drawLine(Rect rect, ref DrawingContext drawingContext)绘制一条曲线,通过计算之后,有一部分是在rect范围之外的,
VC好像只要获取的事这个窗口的DC,那么你绘制超出这个窗口,它就会不显示。我就是希望能够达到这种效果。有没有什么办法让它只绘制在自己的窗口范围内,
而不绘制到控件范围外面去? 

解决方案 »

  1.   

    数据量不大的时候,将图像输出到 Graphic 上面,再裁剪,再输出到窗口。
      

  2.   


    你说的事要裁剪吗? 或者用Path来搞定这个问题?
    另外c#绘制多边形是不是也需要用到drawingContext.DrawGeometry?
      

  3.   

    用ExcludeClipRect函数,C#的话,应该是用Graphic的ExcludeClip方法,不行的话就用API函数ExcludeClipRect
      

  4.   


    RectangleGeometry rectangleGeometry = new RectangleGeometry(rect);
    rectangleGeometry.Freeze(); 
    drawingContext.PushClip(rectangleGeometry);         //剪贴在矩形范围内
    // 在这里进行绘制的都会限制显示在rect的矩形内
    drawingContext.Pop();