<ScaleTransform>
不修改的变焦相机。它只是放大图像,所以你会看到相同的图像更像素化。
相机的变焦由ZoomControl
类控制。它位于MediaCapture
类里面。
例如:Slider
元素更改相机的变焦。
<CaptureElement x:Name="captureElement"
Stretch="UniformToFill" />
<Slider x:Name="sliderZoom"
Width="250"
ValueChanged="sliderZoom_ValueChanged"/>
配置的Slider
的:
MediaCapture _mediaCapture;
// Initialization of the MediaCapture ...
if(this._mediaCapture.VideoDeviceController.ZoomControl.Supported)
{
sliderZoom.Minimum = this._mediaCapture.VideoDeviceController.ZoomControl.Min;
sliderZoom.Maximum = this._mediaCapture.VideoDeviceController.ZoomControl.Max;
sliderZoom.StepFrequency = this._mediaCapture.VideoDeviceController.ZoomControl.Step;
}
修改相机的变焦时的Slider
改变其值:
private void sliderZoom_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
if(this._mediaCapture.VideoDeviceController.ZoomControl.Supported)
{
this._mediaCapture.VideoDeviceController.ZoomControl.Value = (float)e.NewValue;
}
}
如果StepFrequency
不等于ZoomControl.Step
这个错误会当试图修改缩放时显示:
An exception of type 'System.ArgumentException' occurred in ....exe but was not handled in user code
WinRT information: Zoom factor
Additional information: The parameter is incorrect.