2014-03-04 151 views
1

如何調整放置在畫布中的多邊形以便填充該畫布?調整多邊形以填充畫布

我不想更改多邊形點的值,我只是希望它在畫布內顯示,以防多邊形座標太大,太小或不在屏幕上。

回答

0

您是否有機會用網格替換畫布?如果是這樣,只需設置多邊形的Stretch屬性,例如Uniform保持寬高比:

<Grid Width="297" Height="159"> 
    <Polygon Points="10,110 110,110 110,10" Fill="Blue" Stretch="Uniform" /> 
    </Grid> 
+0

它適用於有少量的點,不幸的是,大量的多邊形(在我的情況下,各地250.000)它不起作用。 但我想這不是你的答案錯。我應該將它標記爲答案嗎? – user2764266

+0

如你所願。我同意有這麼多的點Polygon不是正確的方法。一種方法通常是在不丟失信息(形狀)的情況下減少點數。點跳過算法取決於數據。前一段時間我有類似的問題,結果證明,一個昂貴的點跳過算法比繪製所有(不必要的)點要快。 – gomi42

0

過這個問題來到最近研製出固體溶液:

<Canvas x:Name="CanvasName"> 
    <Polygon Points="{Binding Path=PointCollectionName}" Stretch="Fill" Fill="Black" 
     Width={Binding ElementName=CanvasName, Path=ActualWidth}" 
     Height={Binding ElementName=CanvasName, Path=AcutalHeight}"/> 
</Canvas>