1

我想将捕获的图像保存在媒体库中。任何人都可以帮助我。:)

CameraCaptureTask myCamera = new CameraCaptureTask();
myCamera.Show();

这是我用来打开相机和捕获的代码

4

2 回答 2

0

使用 MediaLibrary 对象的 SavePictureToCameraRoll 方法

public async void Capture()
{
   await seq.StartCaptureAsync();

   // Set the stream position to the beginning.
   captureStream1.Seek(0, SeekOrigin.Begin);

   MediaLibrary library = new MediaLibrary();
   Picture picture1 = library.SavePictureToCameraRoll("image1", captureStream1);
}
于 2013-09-06T10:13:50.543 回答
0

在构造函数之前在您的页面中声明您CameraCaptureTask的:

CameraCaptureTask cameraCaptureTask;

在 Page 结构中,初始化 CameraCaptureTask 并订阅Completed事件处理程序:

cameraCaptureTask = new CameraCaptureTask();
cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);

当您想要启动任务时调用 Show 方法(例如:在 Page 构造函数中或在按钮单击事件中):

cameraCaptureTask.Show();

将完成的事件处理程序的代码添加到您的页面。此代码在用户完成任务后运行。结果是一个 PhotoResult 对象,它公开了一个包含图像数据的流:

void cameraCaptureTask_Completed(object sender, PhotoResult e)
{
    if (e.TaskResult == TaskResult.OK)
    {
        MediaLibrary medialibrary = new MediaLibrary(); // Don't forget to the "using Microsoft.Xna.Framework.Media;" namespace
        medialibrary.SavePicture("ImageName", e.ChosenPhoto);
    }
}
于 2013-09-06T19:33:42.057 回答