예제 #1
0
 public override void OnMapRendered(Carto.Graphics.Bitmap bitmap)
 {
     if (ScreenCaptured != null)
     {
         ScreenshotEventArgs args = new ScreenshotEventArgs {
             Bitmap = bitmap
         };
         ScreenCaptured(this, args);
     }
 }
 void OnScreenCapture(object sender, ScreenshotEventArgs e)
 {
     if (e.IsOK)
     {
         Alert("Great success! Screenshot saved as: " + e.Path);
     }
     else
     {
         Alert("Error! " + e.Message);
     }
 }
예제 #3
0
        void OnScreenCaptured(object sender, ScreenshotEventArgs e)
        {
            this.bitmap = e.Bitmap;

            if (((int)Build.VERSION.SdkInt) >= Marshmallow)
            {
                RequestPermissions(
                    new string[] { Android.Manifest.Permission.WriteExternalStorage, Android.Manifest.Permission.ReadExternalStorage },
                    RequestCode
                    );
            }
            else
            {
                OnPermissionGranted();
            }
        }
        public override void OnMapRendered(Bitmap bitmap)
        {
            if (!map.FocusPos.Equals(position))
            {
                position = map.FocusPos;
                number++;

                UIImage image = BitmapUtils.CreateUIImageFromBitmap(bitmap);

                string folder   = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                string filename = number + "png";

                string path = System.IO.Path.Combine(folder, filename);

                NSData  data = image.AsPNG();
                NSError error;

                bool success = data.Save(path, false, out error);

                if (ScreenCaptured != null)
                {
                    ScreenshotEventArgs args = new ScreenshotEventArgs {
                        Path = path
                    };

                    if (!success)
                    {
                        args.Message = error.LocalizedDescription;
                    }

                    ScreenCaptured(this, args);
                }

                if (success)
                {
                    Share(data);
                }
            }
        }
예제 #5
0
        public override void OnMapRendered(Carto.Graphics.Bitmap bitmap)
        {
            if (!map.FocusPos.Equals(position))
            {
                position = map.FocusPos;
                number++;

                Android.Graphics.Bitmap image = BitmapUtils.CreateAndroidBitmapFromBitmap(bitmap);

                string folder   = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                string filename = number + "png";

                string path = Path.Combine(folder, filename);

                string message = null;

                try
                {
                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        image.Compress(Android.Graphics.Bitmap.CompressFormat.Jpeg, 100, stream);
                    }
                }
                catch (Exception e) {
                    message = e.Message;
                }

                if (ScreenCaptured != null)
                {
                    ScreenshotEventArgs args = new ScreenshotEventArgs {
                        Path = path, Message = message
                    };
                    ScreenCaptured(this, args);
                }

                Share(path);
            }
        }