0

我有这个代码:

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

单击捕获按钮时如何实现自动保存图像选项?

4

1 回答 1

0

单击捕获按钮时如何实现自动保存图像选项?

如果我们不取消捕获,包含捕获的照片的 StorageFile 将被赋予动态生成的名称并保存在我们应用程序的本地文件夹中,因此如果我们单击捕获按钮而不单击确认按钮,照片将自动保存在我们应用程序的临时状态文件夹。

有关详细信息,请参阅使用 Windows 内置相机 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;
    }   
于 2017-06-20T02:18:52.747 回答