我想要在Windows Phone 8.1应用中使用大图像。出于我的应用程序的目的,我想只显示图像的某个部分,并希望用该特定部分填充整个ViewBox。
我可以使用Image.Clip轻松获取Image的特定部分。但是到目前为止,我一直无法让ViewBox只填充Image.Clip确定的部分。 我使用以下XAML。
<Pivot>
<PivotItem Margin="10">
<Viewbox Stretch="Uniform" StretchDirection="Both">
<Image Source="http://image.png"
Stretch="None">
<Image.Clip>
<RectangleGeometry Rect="500,100,600,700"/>
</Image.Clip>
</Image>
</Viewbox>
</PivotItem>
</Pivot>
我在Image和ViewBox上尝试了各种Stretch设置组合。我也尝试过ScaleTransforms,但直到现在还没有运气。
所以我的问题是我想在XAML中做什么,如果是的话,我应该使用哪种XAML代码组合?
答案 0 :(得分:0)
您可以使用已翻译的ImageBrush填充固定大小的Rectangle,如下所示:
<Viewbox Stretch="Uniform" StretchDirection="Both">
<Rectangle Width="600" Height="700">
<Rectangle.Fill>
<ImageBrush ImageSource="http://image.png"
Stretch="None" AlignmentX="Left" AlignmentY="Top">
<ImageBrush.Transform>
<TranslateTransform X="-500" Y="-100"/>
</ImageBrush.Transform>
</ImageBrush>
</Rectangle.Fill>
</Rectangle>
</Viewbox>