public static Bitmap drawableToBitmap(Android.Graphics.Drawables.Drawable drawable) { Bitmap bitmap = null; if (drawable is BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable)drawable; if (bitmapDrawable.Bitmap != null) { return(bitmapDrawable.Bitmap); } } if (drawable.IntrinsicWidth <= 0 || drawable.IntrinsicHeight <= 0) { bitmap = Bitmap.CreateBitmap(1, 1, Bitmap.Config.Argb8888); // Single color bitmap will be created of 1x1 pixel } else { bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); } Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return(bitmap); }
private Bitmap GetBitMapFromDrawable(Android.Graphics.Drawables.Drawable drawable) { if (drawable == null) { return(null); } if (drawable.GetType() == typeof(BitmapDrawable)) { return(((BitmapDrawable)drawable).Bitmap); } try { Bitmap bitmap; if (drawable.GetType() == typeof(ColorDrawable)) { bitmap = Bitmap.CreateBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG); } else { bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, BITMAP_CONFIG); } Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return(bitmap); } catch (OutOfMemoryException e) { return(null); } }
public void LoadPiece(PieceType type, Drawable piece) { Bitmap bitmap = Bitmap.CreateBitmap (piece_size, piece_size, Bitmap.Config.Argb8888); Canvas canvas = new Canvas (bitmap); piece.SetBounds (0, 0, piece_size, piece_size); piece.Draw (canvas); piece_bitmaps[(int)type] = bitmap; }
public Bitmap convertToBitmap(Android.Graphics.Drawables.Drawable drawable, int widthPixels, int heightPixels) { Bitmap mutableBitmap = Bitmap.CreateBitmap(widthPixels, heightPixels, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(mutableBitmap); drawable.SetBounds(0, 0, widthPixels, heightPixels); drawable.Draw(canvas); return(mutableBitmap); }
// Function to set the specified Drawable as the tile for a particular // integer key. public void LoadTile (TileType type, Drawable tile) { Bitmap bitmap = Bitmap.CreateBitmap (tile_size, tile_size, Bitmap.Config.Argb8888); Canvas canvas = new Canvas (bitmap); tile.SetBounds (0, 0, tile_size, tile_size); tile.Draw (canvas); tile_bitmaps[(int)type] = bitmap; }
public static Bitmap DrawableToBitmap(Drawable drawable) { if (drawable is BitmapDrawable) { return ((BitmapDrawable)drawable).Bitmap; } if (drawable.IntrinsicHeight == -1 || drawable.IntrinsicHeight == -1) return null; Bitmap bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return bitmap; }
protected void DrawAt(Canvas canvas, Drawable drawable, int x, int y, bool shadow) { try { canvas.Save(); canvas.Translate(x, y); if (shadow) { drawable.SetColorFilter(Util.Int32ToColor(2130706432), PorterDuff.Mode.SrcIn); canvas.Skew(-0.9F, 0.0F); canvas.Scale(1.0F, 0.5F); } drawable.Draw(canvas); if (shadow) { drawable.ClearColorFilter(); } } finally { canvas.Restore(); } }
/** * Convert a drawable object into a Bitmap. * @param drawable Drawable to extract a Bitmap from. * @return A Bitmap created from the drawable parameter. */ public Bitmap DrawableToBitmap(Drawable drawable) { if (drawable == null) // Don't do anything without a proper drawable return null; else if (drawable.GetType() == typeof(BitmapDrawable)) // Use the getBitmap() method instead if BitmapDrawable return ((BitmapDrawable)drawable).Bitmap; // Create Bitmap object out of the drawable Bitmap bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); // Return the created Bitmap return bitmap; }
public virtual Bitmap drawableToBitmap(Drawable drawable) { if (drawable == null) { return null; } else if (drawable is BitmapDrawable) { return ((BitmapDrawable)drawable).Bitmap; } Bitmap bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return bitmap; }
public static Bitmap DrawableToBitmap(Drawable drawable) { var bitmapDrawable = drawable as BitmapDrawable; if (bitmapDrawable != null) { return bitmapDrawable.Bitmap; } Bitmap bitmap; int width = Math.Max(drawable.IntrinsicWidth, 1); int height = Math.Max(drawable.IntrinsicHeight, 1); try { bitmap = Bitmap.CreateBitmap(width, height, Bitmap.Config.Argb8888); var canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); } catch (Exception) { bitmap = null; } return bitmap; }
private Bitmap getBitmapFromDrawable(Drawable drawable) { if (drawable == null) { return null; } if (drawable is BitmapDrawable) { return ((BitmapDrawable)drawable).Bitmap; } try { Bitmap bitmap; if (drawable is ColorDrawable) { bitmap = Bitmap.CreateBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG); } else { bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, BITMAP_CONFIG); } Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return bitmap; } catch { //catch (OutOfMemoryException e) { return null; } }
private Bitmap DrawableToBitmap(Drawable drawable) { try { if (drawable is BitmapDrawable) return ((BitmapDrawable)drawable).Bitmap; Bitmap bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return bitmap; } catch (Exception ex) { //FirstLog.Error(FirstApplication.ApplicationName + "Log", "ResizeBitmap: " + ex.Message); return null; } }
private Bitmap GetBitmapFromDrawable(Drawable drawable) { if (drawable == null) { return null; } var bitmapDrawable = drawable as BitmapDrawable; if (bitmapDrawable != null) { return bitmapDrawable.Bitmap; } try { Bitmap bitmap; if (drawable is ColorDrawable) { bitmap = Bitmap.CreateBitmap(ColordrawableDimension, ColordrawableDimension, BitmapConfig); } else { bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, BitmapConfig); } var canvas = new Canvas(bitmap); drawable.SetBounds(0, 0, canvas.Width, canvas.Height); drawable.Draw(canvas); return bitmap; } catch (OutOfMemoryException) { return null; } }
public void LoadObject(GameObjects type, Drawable tile) { Bitmap bitmap = Bitmap.CreateBitmap (objectSize, objectSize, Bitmap.Config.Argb8888); Canvas canvas = new Canvas (bitmap); tile.SetBounds (0, 0, objectSize, objectSize); tile.Draw (canvas); bitmaps [(int)type] = bitmap; }