/** * 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); }
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); }
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); });
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); }
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)); }
/// <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); }
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); }
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); } }