/**
  * Returns a bitmap showing a screenshot of the view passed in.
  */
 //@NonNull
 public static Bitmap getBitmapFromView(View v)
 {
     Bitmap bitmap = Bitmap.CreateBitmap(v.MeasuredWidth, v.MeasuredHeight, Bitmap.Config.Argb8888);
     Canvas canvas = new Canvas(bitmap);
     v.Draw(canvas);
     return bitmap;
 }
        public static Bitmap ToBitmap(this AView view)
        {
            var layout = new FrameLayout(view.Context);

            layout.LayoutParameters = new FrameLayout.LayoutParams(500, 500);
            view.LayoutParameters   = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WrapContent, FrameLayout.LayoutParams.WrapContent)
            {
                Gravity = GravityFlags.Center
            };

            layout.AddView(view);
            layout.Measure(500, 500);
            layout.Layout(0, 0, 500, 500);

            var act      = view.Context.GetActivity();
            var rootView = act.FindViewById <FrameLayout>(Android.Resource.Id.Content);

            rootView.AddView(layout);

            var    bitmap = Bitmap.CreateBitmap(view.Width, view.Height, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(bitmap);

            view.Layout(0, 0, view.Width, view.Height);
            view.Draw(canvas);

            rootView.RemoveView(layout);

            return(bitmap);
        }
        public static Bitmap LoadBitmapFromView(Android.Views.View v)
        {
            Bitmap b = Bitmap.CreateBitmap(v.Width, v.Height, Bitmap.Config.Argb8888);
            Canvas c = new Canvas(b);

            v.Layout(0, 0, v.Width, v.Height);
            v.Draw(c);
            return(b);
        }
Exemple #4
0
        private Bitmap ConvertViewToBitMap(Android.Views.View view)
        {
            Bitmap bitmap = Bitmap.CreateBitmap((int)view.Width, (int)view.Height, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(bitmap);

            canvas.DrawColor(Android.Graphics.Color.White);
            view.Draw(canvas);
            return(bitmap);
        }
Exemple #5
0
        public static Bitmap LoadBitmapFromView(View v)
        {
            var b = Bitmap.CreateBitmap(v.Width, v.Height, Bitmap.Config.Argb8888);
            var c = new Canvas(b);

            v.Layout(0, 0, v.LayoutParameters.Width, v.LayoutParameters.Height);
            v.Draw(c);
            return(b);
        }
 public static Task <Bitmap> ToBitmap(this AView view) =>
 view.AttachAndRun(() =>
 {
     var bitmap = Bitmap.CreateBitmap(view.Width, view.Height, Bitmap.Config.Argb8888);
     using (var canvas = new Canvas(bitmap))
     {
         view.Draw(canvas);
     }
     return(bitmap);
 });
Exemple #7
0
        public Bitmap LayoutToBitmap(Android.Views.View markerLayout)
        {
            markerLayout.Measure(Android.Views.View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified), Android.Views.View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified));
            markerLayout.Layout(0, 0, markerLayout.MeasuredWidth, markerLayout.MeasuredHeight);
            Bitmap bitmap = Bitmap.CreateBitmap(markerLayout.MeasuredWidth, markerLayout.MeasuredHeight, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(bitmap);

            markerLayout.Draw(canvas);
            return(bitmap);
        }
        public static Android.Graphics.Bitmap ToBitmap(this Android.Views.View view)
        {
            var bitmap = Bitmap.CreateBitmap(view.Width, view.Height, Bitmap.Config.Argb8888);

            using (var c = new Canvas(bitmap))
            {
                view.Draw(c);
            }

            return(bitmap);
        }
Exemple #9
0
        public Drawable GetThumb(int progress)
        {
            ((TextView)thumbView.FindViewById(Resource.Id.thumbText)).SetText(String.Format(control.ThumbTextFormat, progress), BufferType.Normal);

            thumbView.Measure((int)MeasureSpecMode.Unspecified, (int)MeasureSpecMode.Unspecified);
            Bitmap bitmap = Bitmap.CreateBitmap(thumbView.MeasuredWidth, thumbView.MeasuredHeight, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(bitmap);

            thumbView.Layout(0, 0, thumbView.MeasuredWidth, thumbView.MeasuredHeight);
            thumbView.Draw(canvas);

            return(new BitmapDrawable(Resources, bitmap));
        }
Exemple #10
0
 /// <summary>
 /// Snaps the specified view.
 /// </summary>
 /// <param name="view">The view.</param>
 /// <returns>The screenshot bitmap.</returns>
 public static Bitmap Snap(View view)
 {
     Bitmap bitmap = null;
     if (view != null)
     {
         view.ClearFocus();
         bitmap = CreateBitmapSafely(view.Width, view.Height, Bitmap.Config.Argb8888, 1);
         if (bitmap != null)
         {
             var canvas = new Canvas(bitmap);
             view.Draw(canvas);
         }
     }
     return bitmap;
 }
        public static Bitmap LoadBitmapFromView(Android.Views.View v)
        {
            if (v.MeasuredHeight <= 0)
            {
                v.Measure(50, 50);
                Bitmap b = Bitmap.CreateBitmap(v.MeasuredWidth, v.MeasuredHeight, Bitmap.Config.Argb8888);
                Canvas c = new Canvas(b);
                v.Layout(0, 0, v.MeasuredWidth, v.MeasuredHeight);
                v.Draw(c);

                return(b);
            }

            return(null);
        }
Exemple #12
0
        public Bitmap getBitmapFromView(Android.Views.View v)
        {
            v.RootView.Measure(
                Android.Views.View.MeasureSpec.MakeMeasureSpec(v.LayoutParameters.Width, Android.Views.MeasureSpecMode.Exactly),
                Android.Views.View.MeasureSpec.MakeMeasureSpec(v.LayoutParameters.Height, Android.Views.MeasureSpecMode.Exactly));

            //v.Layout(0, 0, v.MeasuredWidth, v.MeasuredHeight);

            var Width  = v.Width;
            var Height = v.Height;

            Bitmap b = Bitmap.CreateBitmap(Width, Height, Bitmap.Config.Argb8888);
            Canvas c = new Canvas(b);

            v.Draw(c);

            var top = 0;

            while (b.GetPixel(0, top) != -10063246)
            {
                top++;
            }
            var bottom = Height - 1;

            while (b.GetPixel(0, bottom) != -10063246)
            {
                bottom--;
            }
            var left = 0;

            while (b.GetPixel(left, top) == -10063246)
            {
                left++;
            }
            var right = Resources.DisplayMetrics.WidthPixels - 1;

            while (b.GetPixel(right, top) == -10063246)
            {
                right--;
            }

            var result = Bitmap.CreateBitmap(right - left + 1, bottom - top + 1, b.GetConfig());

            new Canvas(result).DrawBitmap(b, new Rect(left, top, right, bottom), new Rect(0, 0, right - left + 1, bottom - top + 1), null);

            return(result);
        }
        public static Bitmap ToBitmap(this AView view)
        {
            var layout = new FrameLayout(view.Context);

            layout.LayoutParameters = new FrameLayout.LayoutParams(500, 500);
            view.LayoutParameters   = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WrapContent, FrameLayout.LayoutParams.WrapContent)
            {
                Gravity = GravityFlags.Center
            };

            layout.AddView(view);
            layout.Measure(500, 500);
            layout.Layout(0, 0, 500, 500);
            var    bitmap = Bitmap.CreateBitmap(view.Width, view.Height, Bitmap.Config.Argb8888);
            Canvas canvas = new Canvas(bitmap);

            view.Layout(0, 0, view.Width, view.Height);
            view.Draw(canvas);

            return(bitmap);
        }
Exemple #14
0
 private void draw(View view)
 {
     Canvas canvas;
     try
     {
         canvas = _holder.LockCanvas();
     }
     catch (Exception e)
     {
         Log.Error(TAG, "Unable to lock canvas: " + e);
         return;
     }
     if (canvas != null)
     {
         view.Draw(canvas);
         _holder.UnlockCanvasAndPost(canvas);
     }
 }