簡體   English   中英

單擊UWP中的“保存”按鈕后,如何自動保存從Windows Phone捕獲的圖像?

[英]How to save Image that is captured from windows phone automatically after click save button in UWP?

我有3個按鈕和1個圖像視圖。 第一個按鈕(相機)打開相機並單擊圖像,然后將單擊的圖像設置為該圖像視圖。 第二個按鈕(文件)從文件夾中圖片,我希望我的第三個按鈕(保存)將顯示的圖像保存到手機中。 在桌面上,我可以輕松地使用文件選擇器選項將圖像存儲在受關注的文件夾中,但是我希望在移動圖庫中按下該按鈕后自動保存圖像。

基於code.msdn上的示例。
與其顯示第一個存儲文件的內容,然后創建一個新文件以保存該文件,不如將代碼示例與圖片文件夾中隨機生成的文件名結合在一起(記住要添加圖片文件夾功能)。

private StorageFile storeFile;
private IRandomAccessStream stream;
private async void SavePhotoClicked(object sender, RoutedEventArgs e)
{
    try
    {
        CameraCaptureUI capture = new CameraCaptureUI();
        capture.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
        capture.PhotoSettings.CroppedAspectRatio = new Size(3, 5);
        capture.PhotoSettings.MaxResolution = CameraCaptureUIMaxPhotoResolution.HighestAvailable;
        storeFile = await capture.CaptureFileAsync(CameraCaptureUIMode.Photo);

        if (storeFile != null)
        {
            stream = await storeFile.OpenAsync(FileAccessMode.Read);

            var s = await KnownFolders.PicturesLibrary.CreateFileAsync(DateTime.UtcNow.ToString("yyyyMMddHHmmss") + ".jpg");

            using (var dataReader = new DataReader(stream.GetInputStreamAt(0)))
            {
                await dataReader.LoadAsync((uint)stream.Size);
                byte[] buffer = new byte[(int)stream.Size];
                dataReader.ReadBytes(buffer);

                await FileIO.WriteBytesAsync(s, buffer);
            }
        }
    }
    catch (Exception ex)
    {
        var messageDialog = new MessageDialog(ex.Message, "Unable to save now.");
        await messageDialog.ShowAsync();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM