我正在制作一个使用相机扫描二维码的应用程序。该应用程序仅使用纵向方向。但是,VideoBrush在纵向页面上处于横向模式。该图显示了我的意思如下:


显然我的电脑屏幕没有那么宽,视频被拉伸了:/
所以,现在我使用的是UniformToFill,理论上应该切除不匹配宽高比的部分。他们不是 :(

如何在不拉伸预览的情况下显示正确的长宽比?
这是我的xaml:

<Rectangle x:Name="_cameraRect">
     <Rectangle.Fill>
           <VideoBrush x:Name="_previewVideo" Stretch="UniformToFill">
                 <VideoBrush.RelativeTransform>
                      <CompositeTransform x:Name="vTransform" CenterY="0.5" CenterX="0.5" Rotation="90"/>
                 </VideoBrush.RelativeTransform>
           </VideoBrush>
     </Rectangle.Fill>
</Rectangle>

最佳答案

这应该可以根据需要工作:

<Canvas.Background>
    <VideoBrush x:Name="viewfinderBrush" Stretch="None" />
</Canvas.Background>

08-26 14:45