我正在尝试在相机应用程序中提供Zooming功能,为此,我正在使用MediaCapture类,除Zoom外,MediaCapture的所有其他功能均正常工作,我在使用以下代码来实现缩放:

private void zoomSlider_ValueChanged(object sender, Windows.UI.Xaml.Controls.Primitives.RangeBaseValueChangedEventArgs e)
{
    m_mediaCaptureMgr.VideoDeviceController.Zoom.TrySetValue(zoomSlider.Value);
}


但是它不起作用
请告诉我该怎么做?

编辑:代码格式更正

最佳答案

您还可以在XAML中像这样缩放相机视图

<CaptureElement x:Name="previewElement1" Width="1366" Height="672">
                <CaptureElement.RenderTransform>
                    <ScaleTransform  x:Name="zoom"/>
                </CaptureElement.RenderTransform>
                </CaptureElement>

<Slider  Width="30" Height="300" Name="zoomSlider" ValueChanged="zoomSlider_ValueChanged_1" />


和在C#中

private void zoomSlider_ValueChanged_1(object sender, Windows.UI.Xaml.Controls.Primitives.RangeBaseValueChangedEventArgs e)
{
    try
    {
        zoom.ScaleX = zoomSlider.Value;
        zoom.ScaleY = zoomSlider.Value;
        zoom.CenterX = 683;
        zoom.CenterY = 384;
    }
    catch (Exception)
    {
    }
}

10-08 05:18