溢出隐藏在边框内的图像

时间:2013-12-28 09:57:51

标签: image windows-phone-8 overflow image-resizing

我有这段代码

<Border BorderBrush="White" BorderThickness="2" Margin="5" Grid.Row="0"
                     Tap="ContentControl_Tap" Background="Transparent">
    <Image x:Name="ImgTop" ManipulationDelta="Top_ManipulationDelta" Stretch="Uniform" >
 </Border> 

我无法设置图像的宽度(我可以有不同的图像,图像可以有不同的尺寸......我无法裁剪图像)

我需要“隐藏”图像的多余部分...问题是,当图像太大时,多余部分会在边框上移动,而不是在......下,我知道如何解决问题?

Thanx

1 个答案:

答案 0 :(得分:0)

我意识到这个问题来自前一段时间,但我遇到了类似的问题,我想我已经找到了解决方案。

我有一个340x162的网格,我计划在其中创建某种图像旋转器。我考虑将图像设置为负上边距,以使图像在进入下一张幻灯片之前略微平移。但是,当图像向上移动时,它会越过边界。

我的解决方案是在Border上创建一个剪辑,如下所示:

<Border Width="340" Height="162">
     <Border.Clip>
          <RectangleGeometry Rect="0,0,340,162" />
     </Border.Clip>
     <Image Name="Image1" Source="Assets/my-image.jpg" Stretch="UniformToFill" Margin="0 -20 0 0"/>
</Border>

从边界0,0开始剪切边框,它使用一个340x162的矩形,它与边框的大小相同。一旦我补充说,图像上的负边距并没有将图像拉出边界。

希望有人帮助......