123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using System.IO;
- using System.Threading.Tasks;
- using InABox.Mobile;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- //using static Android.Graphics.ImageDecoder;
- namespace PRS.Mobile
- {
- public delegate void SaveSelected(byte[] array);
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class ImageViewerEditor
- {
- private Action _deleteaction;
- private readonly Action<byte[]> _saveaction;
- public ImageViewerEditor(ImageSource source, Action<byte[]> save, Action delete = null)
- {
- _deleteaction = delete;
- _saveaction = save;
-
- InitializeComponent ();
- _delete.IsVisible = delete != null;
- _save.IsVisible = save != null;
-
- imageEditor.Source = source;
- imageEditor.ImageSaving += ImageEditor_ImageSaving;
- imageEditor.ToolbarSettings.VisibleShapesItems = Syncfusion.SfImageEditor.XForms.ImageEditorShapes.Rectangle
- | Syncfusion.SfImageEditor.XForms.ImageEditorShapes.Circle
- | Syncfusion.SfImageEditor.XForms.ImageEditorShapes.Line
- | Syncfusion.SfImageEditor.XForms.ImageEditorShapes.Arrow;
- }
- private void ExitBtn_Clicked(object sender, EventArgs e)
- {
- Navigation.PopAsync();
- }
- private void ImageEditor_ImageSaving(object sender, Syncfusion.SfImageEditor.XForms.ImageSavingEventArgs args)
- {
- var stream = args.Stream;
- MemoryStream memoryStream = new MemoryStream();
- stream.CopyTo(memoryStream);
- byte[] array = memoryStream.ToArray();
- _saveaction?.Invoke(array);
- args.Cancel = true;
- Navigation.PopAsync();
- }
- private void DeleteBtn_Clicked(object sender, EventArgs e)
- {
- _deleteaction?.Invoke();
- Navigation.PopAsync();
- }
- private void SaveBtn_Clicked(object sender, MobileMenuButtonClickedEventArgs args)
- {
- imageEditor.Save();
- }
- }
- }
|