private async void Save_Clicked(object sender, RoutedEventArgs e) { using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(saveFileName, CreationCollisionOption.ReplaceExisting)) { await inkManager.SaveAsync(stream.AsOutputStream()); } }
async private void appBarSave_Click(object sender, RoutedEventArgs e) { if (inkManager.GetStrokes().Count > 0) { try { FileSavePicker savePicker = new FileSavePicker(); savePicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; savePicker.FileTypeChoices.Add("Gif", new List <string> { ".gif" }); StorageFile file = await savePicker.PickSaveFileAsync(); if (file != null) { using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { // BUG 339829 SaveAsync and misc other bugs now scheduled for OS/Future. await inkManager.SaveAsync(stream); status.Log(LocalizableStrings.INK_SAVE_SUCCESS); } } } catch (Exception ex) { status.Log(ex.Message); } } else { status.Log(LocalizableStrings.INK_EMPTY_INK_SAVE); } }
private async void btnSaveWritingAsImage_Click(object sender, RoutedEventArgs e) { if (MyInkManager.GetStrokes().Count > 0) { try { Windows.Storage.Pickers.FileSavePicker SavePicker = new Windows.Storage.Pickers.FileSavePicker(); SavePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop; SavePicker.DefaultFileExtension = ".png"; SavePicker.FileTypeChoices.Add("PNG", new string[] { ".png" }); SavePicker.FileTypeChoices.Add("JPG", new string[] { ".jpg" }); StorageFile filesave = await SavePicker.PickSaveFileAsync(); IOutputStream ab = await filesave.OpenAsync(FileAccessMode.ReadWrite); if (ab != null) { await MyInkManager.SaveAsync(ab); } } catch (Exception) { var MsgDlg = new MessageDialog("Only handwriting can be saved as image.", "Error while saving"); MsgDlg.ShowAsync(); } } else { var MsgDlg = new MessageDialog("Only handwriting can be saved as image.", "Error while saving"); await MsgDlg.ShowAsync(); } }
private async void SaveDrawing() { try { FileSavePicker save = new FileSavePicker(); save.SuggestedStartLocation = PickerLocationId.PicturesLibrary; save.DefaultFileExtension = ".png"; save.FileTypeChoices.Add("PNG", new string[] { ".png" }); StorageFile fileSave = await save.PickSaveFileAsync(); IOutputStream ab = await fileSave.OpenAsync(FileAccessMode.ReadWrite); if (ab != null) { await _inkManager.SaveAsync(ab); } var dlg = new MessageDialog("Your image has been saved."); await dlg.ShowAsync(); } catch (Exception ex) { var dlg = new MessageDialog(ex.Message); dlg.ShowAsync(); } }
private async void Save_Clicked(object sender, RoutedEventArgs e) { using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(saveFileName, CreationCollisionOption.ReplaceExisting)) { // InkManager.SaveAsync fails if there are zero strokes, so we just leave the file empty if there is no actual ink. if (inkManager.GetStrokes().Any()) { await inkManager.SaveAsync(stream.AsOutputStream()); } } }
// </Snippetcs_show_savepicker> // <Snippetcs_write_ink> async void WriteInk(StorageFile storageFile) { if (storageFile != null) { IRandomAccessStream writeStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite); IOutputStream outputStream = writeStream.GetOutputStreamAt(0); await _inkManager.SaveAsync(outputStream); await outputStream.FlushAsync(); Windows.Storage.FileProperties.BasicProperties props = await storageFile.GetBasicPropertiesAsync(); // Call an application-defined function to display the file size. DisplayStatus("Saved " + props.Size.ToString() + " bytes."); } }
async private void panelcanvas_PointerReleased(object sender, PointerRoutedEventArgs e) { try { if (e.Pointer.PointerId == _penID) { Windows.UI.Input.PointerPoint pt = e.GetCurrentPoint(PanelCanvas); // Pass the pointer information to the InkManager. _inkManager.ProcessPointerUp(pt); } else if (e.Pointer.PointerId == _touchID) { // Process touch input PointerPoint pt = e.GetCurrentPoint(PanelCanvas); // Pass the pointer information to the InkManager. _inkManager.ProcessPointerUp(pt); } _touchID = 0; _penID = 0; var backMarkup = await ApplicationData.Current.RoamingFolder.CreateFileAsync("markupimage_" + App.Task.CaseNumber + this.listView.SelectedIndex, CreationCollisionOption.ReplaceExisting); if (_inkManager.GetStrokes().Count > 0) { //buffer.Seek(0); using (var os = await backMarkup.OpenAsync(FileAccessMode.ReadWrite)) { await _inkManager.SaveAsync(os); } } // Call an application-defined function to render the ink strokes. e.Handled = true; } catch (Exception ex) { //new MessageDialog(ex.Message,"Error").ShowAsync(); } }
private async Task <byte[]> GetImage() { InkManager inkMgr = MedcialInkManager; if (inkMgr.GetStrokes().Count == 0) { return(null); } using (var stream = new InMemoryRandomAccessStream()) { await inkMgr.SaveAsync(stream); await stream.FlushAsync(); stream.Seek(0); byte[] bytes = new byte[stream.Size]; IBuffer buffer = bytes.AsBuffer(); await stream.ReadAsync(buffer, (uint)stream.Size, InputStreamOptions.None); return(bytes); } }
private async Task SaveIt() //Implement The Saving Mechanism { try { FileSavePicker fileSave = new FileSavePicker(); //Insantiating a fileSave Object In Order To Save The Drawn Object fileSave.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; //Picking A Start Location For Choosing Where To Save fileSave.DefaultFileExtension = ".png"; //Setting The Default FileFormat To png fileSave.FileTypeChoices.Add("PNG", new String[] { ".png" }); //Adding PNG To The File Type Choice StorageFile storage = await fileSave.PickSaveFileAsync(); using (IOutputStream fileStream = await storage.OpenAsync(FileAccessMode.ReadWrite)) { if (fileStream != null) { await inkManager.SaveAsync(fileStream); } } } catch (Exception ex) { } }
/// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// /// Page specific logic should be placed in event handlers for the /// <see cref="GridCS.Common.NavigationHelper.LoadState"/> /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>. /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. //protected override void OnNavigatedFrom(NavigationEventArgs e) //{ // navigationHelper.OnNavigatedFrom(e); //} #endregion private async void CheckInButton_Click(object sender, RoutedEventArgs e) { try { base64String = ""; if (_inkManager.GetStrokes() != null && _inkManager.GetStrokes().Count > 0) { RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.RenderAsync(InkCanvas); //PhotoControl.Source = renderTargetBitmap; using (var stream = new InMemoryRandomAccessStream()) { await _inkManager.SaveAsync(stream); await stream.FlushAsync(); stream.Seek(0); //byte[] bytes = new byte[stream.Size]; Byte[] bytes = new Byte[0]; var reader = new DataReader(stream.GetInputStreamAt(0)); bytes = new Byte[stream.Size]; await reader.LoadAsync((uint)stream.Size); reader.ReadBytes(bytes); // Convert the byte array to Base 64 string base64String = Convert.ToBase64String(bytes); ////PhotoCopy.Source = await ImageProcessor.Base64StringToBitmap(base64String); } var phoneNumber = txtPhoneNumber.Text; var ivCode = txtInvitationCode.Text; // if (string.IsNullOrEmpty(phoneNumber)) { MessageDialog md = new MessageDialog("Please enter phone Number"); await md.ShowAsync(); return; } if ((string.IsNullOrEmpty(ivCode)) && (stackPanelIV.Visibility == Visibility.Visible)) { MessageDialog md = new MessageDialog("Please enter your invitation code"); await md.ShowAsync(); return; } else { //Check user if (userRegistrationStatus == "Registered") { //This is to check-IN newGuest(); } else { MessageDialog notRegistration = new MessageDialog("Visitor not registered"); notRegistration.Commands.Add(new UICommand("Register Visitor") { Id = 0 }); notRegistration.Commands.Add(new UICommand("Cancel") { Id = 1 }); var result = await notRegistration.ShowAsync(); if (Convert.ToInt32(result.Id) == 0) { //Navigate to the Registration Page this.Frame.Navigate(typeof(RegistrationPage)); } else { //Do nothing //This is equivalent to Cancel since either way you are going back } } } } else { MessageDialog md = new MessageDialog("Please input signature"); bool result = false; md.Commands.Add(new UICommand("OK", new UICommandInvokedHandler((cmd) => result = true))); await md.ShowAsync(); } } catch (Exception ex) { MessageDialog msg = new MessageDialog(ex.Message + " Void - CheckInButton"); //msg.ShowAsync(); } }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { await inkManager.SaveAsync(inkStream.AsOutputStream()); }