C# 在localStorage-windows 8应用程序中保存inkManager的笔划
我尝试了很多东西,但我并不完全理解本地存储中的save。我知道它的工作原理,但我不知道如何使用inkManager。如果你有什么想法 这是我保存用户所需位置的代码,但我希望在localstorage中“自动保存”:C# 在localStorage-windows 8应用程序中保存inkManager的笔划,c#,windows-8,microsoft-metro,local-storage,C#,Windows 8,Microsoft Metro,Local Storage,我尝试了很多东西,但我并不完全理解本地存储中的save。我知道它的工作原理,但我不知道如何使用inkManager。如果你有什么想法 这是我保存用户所需位置的代码,但我希望在localstorage中“自动保存”: private async void save_Button(object sender, RoutedEventArgs e) { if (_inkManager.GetStrokes().Count > 0) {
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)
{
}
}
}
最后,解决方案非常简单:
StorageFile myMerge = await ApplicationData.Current.LocalFolder.CreateFileAsync("myimg.png");
IOutputStream ac = await myMerge.OpenAsync(FileAccessMode.ReadWrite);
if (ac != null)
await _inkManager.SaveAsync(ac);
最后,解决方案非常简单:
StorageFile myMerge = await ApplicationData.Current.LocalFolder.CreateFileAsync("myimg.png");
IOutputStream ac = await myMerge.OpenAsync(FileAccessMode.ReadWrite);
if (ac != null)
await _inkManager.SaveAsync(ac);