我有一个大的图像,我想在Windows 8.1应用程序中使用。在我的应用程序中,我只想显示图像的某一部分,并希望用该特定部分填充完整的ViewBox。
通过使用Image.Clip,我可以很容易地获得图像的特定部分。然而,到目前为止,我还无法使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> 我在图像和ViewBox上都尝试过各种拉伸设置的组合。我也尝试了ScaleTransforms,但到目前为止没有运气。
所以我的问题是,我想在XAML内部做些什么?如果是的话,我应该使用哪种XAML代码组合?
发布于 2015-05-14 09:00:15
您可以用翻译好的ImageBrush填充一个固定大小的矩形,如下所示:
<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>https://stackoverflow.com/questions/30225852
复制相似问题