private void OnSnapshot(TakeSnapshotMessage snapshotMessage)
 {
     Task.Run(() =>
     {
         // Not implemented
         snapshotMessage?.OnSnapshot?.Invoke(null);
     });
 }
Beispiel #2
0
 private void OnSnapshot(TakeSnapshotMessage snapshotMessage)
 {
     NativeMap.Snapshot(new DelegateSnapshotReadyCallback(snapshot =>
     {
         var stream = new MemoryStream();
         snapshot.Compress(Bitmap.CompressFormat.Png, 0, stream);
         stream.Position = 0;
         snapshotMessage?.OnSnapshot?.Invoke(stream);
     }));
 }
Beispiel #3
0
        void OnSnapshot(TakeSnapshotMessage snapshotMessage)
        {
            UIGraphics.BeginImageContextWithOptions(NativeMap.Frame.Size, false, 0f);
            NativeMap.Layer.RenderInContext(UIGraphics.GetCurrentContext());
            var snapshot = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();

            // Why using task? Because Android side is asynchronous.
            Task.Run(() =>
            {
                snapshotMessage.OnSnapshot.Invoke(snapshot.AsPNG().AsStream());
            });
        }
Beispiel #4
0
 void SendTakeSnapshot(TakeSnapshotMessage message)
 {
     OnSnapshot?.Invoke(message);
 }