1

我想模仿 Windows Phone 默认相机应用程序,其中两个白条 [ ] 在相机即将拍照时出现。我一直在研究,但我不知道如何在我自己的应用程序中实现这样的功能。我已经设置了所有相机按钮,并且一切正常,但这是我当然希望拥有的功能。我打算只显示条形并将它们隐藏在相机取景器上,然后使用 DispatcherTimer 将它们显示为可见以控制时间。唯一的问题是,我不知道如何做到这一点,然后让 DispatcherTimer Tick 事件仅在相机拍照之前激活?

4

1 回答 1

2

显示焦点栏的最简单方法是使用带有打开和关闭括号“[]”的文本块,当您关注某个点时,您可以显示和隐藏它。当用户点击一个点时,您只需执行以下操作:

Point tapLocation = e.GetPosition(viewfinderCanvas);

// Position the focus brackets with the estimated offsets.
focusBrackets.SetValue(Canvas.LeftProperty, tapLocation.X - 30);
focusBrackets.SetValue(Canvas.TopProperty, tapLocation.Y - 28);

// Determine the focus point.
double focusXPercentage = tapLocation.X / viewfinderCanvas.Width;
double focusYPercentage = tapLocation.Y / viewfinderCanvas.Height;

// Show the focus brackets and focus at point.
focusBrackets.Visibility = Visibility.Visible;
cam.FocusAtPoint(focusXPercentage, focusYPercentage);

代码取自 MSDN,您可以在其中找到整个实现:

如何:在 Windows Phone 应用程序中使用相机对焦

于 2012-08-30T07:02:04.343 回答