2017-06-19 93 views
0

我有这样的代码:如何自动将拍摄的图像保存在UWP应用程序中?

CameraCaptureUI captureUI = new CameraCaptureUI(); 
captureUI.PhotoSettings.AllowCropping = false; 
StorageFile photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo); 

我如何能实现自动保存图像选项时,点击捕捉按钮?

+0

我定你的帖子,但我不知道它是好的,我做过什么,在它的代码。检查最后一行并根据需要进行修复。 – peterh

+0

@peterh'await'和'captureUI'应该有一个空格。 – AVK

回答

0

如何在点击捕捉按钮时自动保存图像选项?

包含捕获的照片被赋予一个动态生成的名称,并保存在我们的应用程序的本地文件夹中,如果我们不取消拍摄,所以如果我们在拍摄按钮点击没有点击确认按钮,照片将StorageFile自动保存在我们应用程序的TempState文件夹中。

欲了解更多信息,请参考Capture photos and video with Windows built-in camera UI

为了更好地组织您捕获的照片,您可能需要将文件移动到其他文件夹。请参阅下面的示例,其中显示了如何将最新的捕获照片从TempState文件夹复制到LocalFolder。

例如:

CameraCaptureUI captureUI = new CameraCaptureUI(); 
captureUI.PhotoSettings.AllowCropping = false; 
StorageFile photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo); 
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.TemporaryFolder; 
var allFiles =await localFolder.GetFilesAsync(); 
foreach (StorageFile item in allFiles.OrderByDescending(a => a.DateCreated)) 
    { 
     StorageFolder destinationFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("ProfilePhotoFolder", CreationCollisionOption.OpenIfExists); 
     await item.CopyAsync(destinationFolder, DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + ".jpg", NameCollisionOption.ReplaceExisting); 
     await item.DeleteAsync(); 
     return; 
    } 
+0

谢谢,我需要做的是,当点击捕捉按钮时,它会要求确认照片,然后保存。需要跳过确认部分,点击捕捉按钮照片时应自动保存。 –

+0

@IndikaPrashad当我们点击捕捉按钮时,它已经保存了照片。如果我们不点击确认按钮,它也会保存照片。您可以在不点击确认按钮的情况下进行测试,您将在TempState文件夹中看到该照片。 –

+0

@IndikaPrashad我已经更新了答案,请检查它。 –

相关问题