我想模仿Windows Phone默认相机应用程序,当相机即将拍照时,会出现两个白条[]。我一直在研究,但我不知道如何在我自己的应用程序中实现这样的功能。我已经设置了所有相机按钮,并且一切正常,但这是我当然希望拥有的功能。我只是显示条形图并将它们隐藏在相机取景器上,然后使用DispatcherTimer将它们显示为可见,以控制时间。唯一的问题是,我不知道如何做到这一点,然后让DispatcherTimer Tick事件仅在相机拍照前激活?
答案 0 :(得分: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获取的代码,您可以在其中找到整个实现:
How to: Use Camera Focus in an Application for Windows Phone