我有这段代码:
CameraCaptureUI captureUI = new CameraCaptureUI();
captureUI.PhotoSettings.AllowCropping = false;
StorageFile photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo);
单击捕获按钮时如何实现自动保存图像选项?
答案 0 :(得分: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;
}