8

1000x1000 の大きさに定義されたキャンバスがあるとしましょう。ビューボックス (または長方形) に 100x100 の部分のみを表示することは可能ですか?

どんな助けでも感謝します.....

4

1 に答える 1

7

ブラシを使用する場合は、WPF の Viewbox と Viewport を参照してください。

編集:ビューボックスとビューポートがブラシに使用されていることに気付きました。これはあなたの状況にはあまり適していません。調べたところ、 UIElementのClipプロパティが気に入ると思います。

Canvas も UIElement であるため、Clip プロパティを使用して Canvas のビューポートをシミュレートできます。

いくつかの単純なジオメトリ タイプについては、ここをクリックしてください

RectangleGeometry で十分だと思います

<Canvas>
    <Canvas.Clip>
        <RectangleGeometry Rect="50,50,25,25" />
    </Canvas.Clip>
</Canvas>

編集#2:

Hehe OK ..キャンバス全体を表示したい場合は、もっと小さいものだけを表示したい場合は、 LayoutTransform を見てください。次に、ScaleTranformを使用して Canvas のサイズを変更します;)。

<Canvas>
    <Canvas.LayoutTransform>
        <ScaleTransform CenterX="0" CenterY="0" ScaleX="0.5" ScaleY="0.5" />
    </Canvas.LayoutTransform>
</Canvas>

希望の効果が得られるまでパラメーターを微調整してください ;)

于 2009-08-24T11:11:20.350 に答える