Image 可写位图渲染坏图像

Image 可写位图渲染坏图像,image,windows-phone-8,render,writablebitmap,Image,Windows Phone 8,Render,Writablebitmap,大家好,我不明白为什么图像渲染不正确。这里是xaml: <Canvas x:Name="CanvasLayout" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Width="{Binding ActualWidth, ElementName=LayoutRoot, Mode=OneWay}" Height="{Binding ActualHeight, ElementName

大家好,我不明白为什么图像渲染不正确。这里是xaml:

 <Canvas x:Name="CanvasLayout" Grid.Row="0" Grid.Column="0" 
           VerticalAlignment="Center" Width="{Binding ActualWidth, ElementName=LayoutRoot, Mode=OneWay}"
           Height="{Binding ActualHeight, ElementName=LayoutRoot, Mode=OneWay}"> 
    <Border Background="Red" BorderBrush="Yellow" BorderThickness="3" Margin="0"  >
        <Image x:Name="ImgChosenPhoto" Stretch="UniformToFill" Canvas.ZIndex="1"  />
    </Border>   
</Canvas>
这里是结果(我的lumia 925的屏幕截图):

为什么??我没有设置任何边距。。。没什么

在第一个场景中,您可以注意到图像是在右侧渲染的。。。你看不到黄色的边框。。。这就像图像控件溢出了屏幕。。。 在第二个屏幕中,右边框不在屏幕的末尾。。错过大约50像素

谢谢你的帮助……

试试这个:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid x:Name="CanvasLayout"
       VerticalAlignment="Center">
        <Border Background="Red" BorderBrush="Yellow" BorderThickness="3" Margin="0"  >
            <Image x:Name="ImgChosenPhoto" />
        </Border>
    </Grid>
</Grid>


我将
Canvas
更改为
Grid
,还删除了图像上的
Stretch
Canvas.ZIndex
属性。

您想要的结果是什么?第一个屏幕截图和第二个屏幕截图的代码有什么不同?嗨。。。第一个屏幕截图是一个垂直图像。。。第二个是水平图像。。。结果就是我想在屏幕上渲染图像,根据屏幕大小调整图像的大小!图像已调整大小。。。但是看起来图像控件不是!(图像控件是带有黄色边框的红色矩形)我不明白它为什么有那么大!把它放在网格里而不是画布里怎么样,这样它就会拉伸。我可以在没有画布的情况下重叠控件吗?我还没有实现它,但我应该重叠两个或更多不同的控制…是的,你可以。只需将它们放置在网格中,并根据需要对齐即可。
<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid x:Name="CanvasLayout"
       VerticalAlignment="Center">
        <Border Background="Red" BorderBrush="Yellow" BorderThickness="3" Margin="0"  >
            <Image x:Name="ImgChosenPhoto" />
        </Border>
    </Grid>
</Grid>