是否有办法通过仅DrawingContext
来获得尺寸?
我知道有ClipToBounds
属性,这是否意味着DrawingContext
大小无限,如果有问题必须另外指定?
如果答案是“无法获得大小”,那么渲染是如何发生的?例如
// pretty long line
dc.DrawLine(pen, new Point(-100000000, 0), new Point(10000000, 0));
// or geometry with hundreds of lines
dc.DrawGeometry(...);
最后一个不是关于RenderSize
财产的问题。它是关于渲染器绘制点的方式,如果有这么多的话。
我正在用儿童数字进行图形控制。他们必须渲染自己,我希望他们只需要上下文,但如果数字太大,我该如何实现剪辑呢?这是合乎逻辑的,我可以检查边界,但问题是哪个边界?图控制?如果ClipToBounds=false
和数字 超出范围会怎样?这就是我想知道的。
出于性能原因,使用标准的wpf数据并不是最佳的(数千个点,数百个不同填充的不同封闭区域等)。
图表是没有内容的FrameworkElement。并且图形内容可以被推进(正确的单词?)到父区域。问题是如何获得优化图形渲染的界限,因此如果坐标超出范围,它们不会调用DrawingContext
的Draw方法?想象一下,单个渲染需要1000000个项目,而知道边界可能会导致其中一些渲染。