加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-phone-7 – WP7 Mango中的相机捕捉

发布时间:2020-12-14 01:52:14 所属栏目:Windows 来源:网络整理
导读:我最近将我的WP7应用程序升级到芒果,并且在使用相机时遇到了一些问题.下面的代码用于在7.0上工作,但在7.1中,完成的处理程序在对话框显示之前触发,因此我无法捕获结果.拍照后,手机会显示“正在恢复…”,这是以前从未做过的事情. var dlg = new CameraCaptureT
我最近将我的WP7应用程序升级到芒果,并且在使用相机时遇到了一些问题.下面的代码用于在7.0上工作,但在7.1中,完成的处理程序在对话框显示之前触发,因此我无法捕获结果.拍照后,手机会显示“正在恢复…”,这是以前从未做过的事情.

var dlg = new CameraCaptureTask();
            dlg.Completed += (s,e) =>
            {
                if (e.TaskResult == TaskResult.OK) {
                    BitmapImage bmp = new BitmapImage();
                    bmp.SetSource(e.ChosenPhoto);
                    //var img = new Image();
                    //img.Source = bmp;

                    string caption = string.Empty;
                    var inputDialog = new InputPrompt()
                    {
                        Title = "Caption",Message = "Enter caption/description for snapshot",};
                    inputDialog.Completed += (ss,ee) =>
                                                 {
                                                     if (ee.PopUpResult == PopUpResult.Ok)
                                                     {
                                                         caption = ee.Result;

                                                         var snap = SnapshotBLL.AddSnapshot(recipeId,bmp,caption);
                                                         onComplete(null,new SnapshotEventArgs(snap));
                                                     }
                                                 };
                    inputDialog.Show();
                }
            };
            dlg.Show();

MSDN文档似乎显示了我的代码的变体,但我无法再获得相机捕获任务的结果.

解决方法

假设你的样品来自一种方法,我不希望它在Mango之前工作过.

应创建CameraCaptureTask并在页面的构造函数中指定回调,以使其正常工作.
就像是:

public partial class MainPage : PhoneApplicationPage
{
    private CameraCaptureTask cct = new CameraCaptureTask();

    public MainPage()
    {
        InitializeComponent();

        cct.Completed += new EventHandler<PhotoResult>(cct_Completed);
    }

    private void cct_Completed(object sender,PhotoResult e)
    {
        // Do whatever here
    }

    private void SomeEventHandler(object sender,RoutedEventArgs e)
    {
        cct.Show();
    }
}

这适用于7.0& 7.1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读