Xaml,wpf图像位置和裁剪问题

JP *_*ons 2 wpf xaml crop windows-runtime resize-crop

我有600px宽度和600px高度的图像.我们有三种尺寸的圆圈.所有人都有中间位置.有些人将反射作为阴影.我想裁剪图像用于显示目的. 最大的圈子

因此,如上所示的最大圆圈的直径约为500像素,但中小型圆圈的直径较小.我知道在代码中我有对象类型的大小Product.由于尺寸差异,我必须以不同的方式放置它们并使用三个占位符图像,如下所示:

<Image x:Name="imgCoinHolderSmall"      
       HorizontalAlignment="Center" 
       Margin="0,495,0,0" 
       VerticalAlignment="Top" 
       Stretch="Fill" 
       Width="200" 
       Height="200"/>
<Image x:Name="imgCoinHolderMedium"     
       HorizontalAlignment="Center" 
       Margin="0,510,0,0" 
       VerticalAlignment="Top" 
       Stretch="Fill" 
       Width="200" 
       Height="200"/>
<Image x:Name="imgCoinHolderLarge"      
       HorizontalAlignment="Center" 
       Margin="0,520,0,0" 
       VerticalAlignment="Top" 
       Stretch="Fill" 
       Width="200" 
       Height="200"/>
Run Code Online (Sandbox Code Playgroud)

因此,我可以更改图像的属性,使其不显示此屏幕截图的红色部分: 在此输入图像描述 顺便说一句,我没有显示原始大小的图像(正如你在xaml代码中看到的那样)我将宽度设置为200.它只是一个显示器,我不必存储新图像.我想动态地做,最好通过在xaml中设置图像属性.(适用于所有三种尺寸的圆圈)

使用CroppedBitmap最好的方法?http://msdn.microsoft.com/en-us/library/ms752345.aspx顺便说一句,它适用于Windows rt.

Ger*_*ter 7

一种选择是使用剪贴蒙版:

<Image Source="MyImage.jpg">
    <Image.Clip>
        <RectangleGeometry Rect="10,10,80,80"></RectangleGeometry>
    </Image.Clip>
</Image>
Run Code Online (Sandbox Code Playgroud)

RECT结构需要,你必须根据你的图像上的X,Y,宽度和高度值.