在Windows(手机)8.1运行时,CaptureElement已取代VideoBrush用于预览来自摄像设备的流。我想以椭圆形状显示预览。我以前通过在Ellipse.Fill属性中设置VideoBrush源来做到这一点。我无法使用CaptureElement(Ellipse.Fill必须是Brush)。有没有其他方法可以将CaptureElement塑造成一个圆圈?
在Windows Phone 8.0中看起来如何:
<Ellipse>
<Ellipse.Fill>
<VideoBrush x:Name="viewfinderBrush" Stretch="UniformToFill" />
</Ellipse.Fill>
</Ellipse>
然后我用我的PhotoCaptureDevice设置了源代码
viewfinderBrush.SetSource(_proCameraDevice);
现在我有Ellipse和CaptureElement(默认为方形控件)。正如我所说 - CaptureElement不能设置为Ellipse.Fill属性
答案 0 :(得分:1)
不,没有直接的方法可以做到这一点。 Windows运行时没有与VideoBrush类似的任何内容,也没有非矩形剪辑。
您可以做的是在矩形窗口中显示预览,但用不透明的蒙版覆盖它,并从中切出椭圆。接近以下的东西(但是你的应用程序的大小,命名等)
<CaptureElement />
<Path Fill="{ThemeResource MyOpaqueBackgroundBrush}">
<Path.Data>
<GeometryGroup>
<RectangleGeometry Rect="0,0 300,300" />
<EllipseGeometry Center="150,150" RadiusX="100" RadiusY="100" />
</GeometryGroup>
</Path.Data>
</Path>