public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            try
            {
                var data       = message.Body.ToString();
                var imageBytes = HeatMapHelper.GetHeatMapImageBytes(data);

                NSData  imageData = NSData.FromArray(imageBytes);
                UIImage image     = UIImage.LoadFromData(imageData);

                _img.Image  = image;
                _img.Hidden = false;
            }
            catch (System.Exception e)
            {
                System.Diagnostics.Debug.WriteLine($"Error decoding heat map image: {e}");
            }
        }
Exemple #2
0
        public void HeatMapRenderCallback(string base64img)
        {
            var activity = Xamarin.Forms.Forms.Context as Activity;

            activity?.RunOnUiThread(async() =>
            {
                try
                {
                    var imageBytes     = HeatMapHelper.GetHeatMapImageBytes(base64img);
                    Bitmap decodedByte = await BitmapFactory.DecodeByteArrayAsync(imageBytes, 0, imageBytes.Length);

                    _img.SetImageBitmap(decodedByte);
                    _img.Visibility = Android.Views.ViewStates.Visible;
                }
                catch (System.Exception e)
                {
                    System.Diagnostics.Debug.WriteLine($"Error decoding heat map image: {e}");
                }
            });
        }
        private async void BaseWebViewScriptNotify(object sender, NotifyEventArgs e)
        {
            try
            {
                var bmp        = new BitmapImage();
                var imageBytes = HeatMapHelper.GetHeatMapImageBytes(e.Value);

                using (var ms = new Windows.Storage.Streams.InMemoryRandomAccessStream())
                {
                    using (var writer = new Windows.Storage.Streams.DataWriter(ms.GetOutputStreamAt(0)))
                    {
                        writer.WriteBytes(imageBytes);
                        await writer.StoreAsync();
                    }

                    await bmp.SetSourceAsync(ms);
                }

                imageBytes      = null;
                _img.Source     = bmp;
                _img.Visibility = Windows.UI.Xaml.Visibility.Visible;
            }
            catch { }
        }