使用Win RT捕捉来自相机的快照

时间:2011-11-09 09:21:28

标签: c++ windows-runtime

我正在编写代码来从相机中捕获图像。下面是我编写的代码。这里方法CapturePhotoToStorageFileAsync不会返回。

auto MediaCap = ref new Windows::Media::Capture::MediaCapture();

auto ImageProp = ref new Windows::Media::Capture::ImageEncodingProperties ();

ImageProp->Height   = 240;
ImageProp->Width    = 320;
ImageProp->Subtype  = "JPEG";


Windows::Storage::StorageFile^ strFile;
auto res = MediaCap->CapturePhotoToStorageFileAsync(ImageProp,strFile);

res->Completed = ref new AsyncActionCompletedHandler([](IAsyncAction ^action)
{
    //action->GetResults();
    //action->Start();
    ///action->Close();
});

res->Start();

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您想要向用户显示UI还是只是默默捕获?我发现的唯一C++ camera sample使用了CameraCaptureUI和CaptureFileAsync - 然后操作就是返回一个StorageFile ^。

如果您故意使用CapturePhotoToStorageFileAsync,请检查您的功能。

答案 1 :(得分:0)

问题已解决

我添加了

的代码
  1. InitializeAsync()
  2. 用于存储图像的已创建文件 使用
  3. Windows :: Storage :: StorageFileRetrievalOperation ^ CreateFileOp = Windows :: Storage :: KnownFolders :: PicturesLibrary-> CreateFileAsync(“Test.jpg”);

    我找到了Java脚本文章并用c ++实现。 http://code.msdn.microsoft.com/windowsdesktop/Media-Capture-Sample-adf87622/sourcecode?fileId=43837&pathId=1754477665