1

よく私は多くのことを試しますが、ローカルストレージへの保存のすべてを本当に理解していません。カメラ以来の仕組みは知っていますが、inkManagerで作る方法がわかりません。何かアイデアがあれば?

これはユーザーが望む場所に保存するための私のコードですが、 localstorage に「自動保存」したいと思います:

private async void save_Button(object sender, RoutedEventArgs e)
    {
        if (_inkManager.GetStrokes().Count > 0)
        {
            try
            {
                Windows.Storage.Pickers.FileSavePicker save = new Windows.Storage.Pickers.FileSavePicker();
                save.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
                save.DefaultFileExtension = ".jpg";
                save.FileTypeChoices.Add("JPG", new string[] { ".jpg" });
                StorageFile filesave = await save.PickSaveFileAsync();
                IOutputStream ab = await filesave.OpenAsync(FileAccessMode.ReadWrite);

                if (ab != null)
                    await _inkManager.SaveAsync(ab);

              //  await save.CopyAsync(ApplicationData.Current.LocalFolder, "merge1.jpg");

                if (save != null)
                {
                    Clipboard.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri("ms-appdata:///local/merge1.jpg"));
                }

            }
            catch (Exception)
            {
            }
        }
    }
4

1 に答える 1

1

最終的に解決策は非常に簡単です:

StorageFile myMerge = await ApplicationData.Current.LocalFolder.CreateFileAsync("myimg.png");
IOutputStream ac = await myMerge.OpenAsync(FileAccessMode.ReadWrite);
if (ac != null)
    await _inkManager.SaveAsync(ac);
于 2013-02-11T14:03:19.343 に答える