List of usage examples for android.graphics.drawable Drawable draw
public abstract void draw(@NonNull Canvas canvas);
From source file:Main.java
public static int PutImageTargetHeight(Canvas canvas, Drawable image, int x, int y, int height) { // float scale = (float)height / (float)image.getBounds().height(); // int width = (int)Math.round(image.getBounds().width() * scale); float scale = (float) height / (float) image.getIntrinsicHeight(); int width = (int) Math.round((float) image.getIntrinsicWidth() * scale); Rect oldBounds = image.getBounds();/*from w ww . j av a2 s . c om*/ image.setBounds(x, y, x + width, y + height); image.draw(canvas); image.setBounds(oldBounds); return width; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable, float ratio) { int width = (int) Math.ceil(drawable.getIntrinsicWidth() * ratio); int height = (int) Math.ceil(drawable.getIntrinsicHeight() * ratio); Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); canvas.scale(ratio, ratio);//from w ww. j a va 2 s. c o m drawable.setBounds(0, 0, width, height); drawable.draw(canvas); return bitmap; }
From source file:com.danimahardhika.android.helpers.core.DrawableHelper.java
@Nullable public static Drawable getResizedDrawable(@NonNull Context context, @NonNull Drawable drawable, float sizeInDp) { try {//from w w w . j av a 2s. co m int size = Math.round(UnitHelper.toPixel(context, sizeInDp)); Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); return new BitmapDrawable(context.getResources(), Bitmap.createScaledBitmap(bitmap, size, size, true)); } catch (OutOfMemoryError e) { return null; } }
From source file:Main.java
public static boolean drawDrawables(Canvas canvas, @Nonnull TextView textView) { final int compoundPaddingLeft = textView.getCompoundPaddingLeft(); final int compoundPaddingTop = textView.getCompoundPaddingTop(); final int compoundPaddingRight = textView.getCompoundPaddingRight(); final int compoundPaddingBottom = textView.getCompoundPaddingBottom(); final int scrollX = textView.getScrollX(); final int scrollY = textView.getScrollY(); final int right = textView.getRight(); final int left = textView.getLeft(); final int bottom = textView.getBottom(); final int top = textView.getTop(); final Drawable[] drawables = textView.getCompoundDrawables(); if (drawables != null) { int vspace = bottom - top - compoundPaddingBottom - compoundPaddingTop; int hspace = right - left - compoundPaddingRight - compoundPaddingLeft; Drawable topDr = drawables[1]; // IMPORTANT: The coordinates computed are also used in invalidateDrawable() // Make sure to update invalidateDrawable() when changing this code. if (topDr != null) { canvas.save();// ww w . j a va 2 s .c om canvas.translate(scrollX + compoundPaddingLeft + (hspace - topDr.getBounds().width()) / 2, scrollY + textView.getPaddingTop() + vspace / 2); topDr.draw(canvas); canvas.restore(); return true; } } return false; }
From source file:Main.java
/** * Drawable convert to Bitmap/*from w ww.ja v a2s. c o m*/ */ public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable == null) { throw new NullPointerException("drawableToBitmap()-->drawable is null."); } int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, width, height); drawable.draw(canvas); return bitmap; }
From source file:Main.java
public static Bitmap convertDrawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }// w w w . j a v a 2s . c om int width = drawable.getIntrinsicWidth(); width = width > 0 ? width : 1; int height = drawable.getIntrinsicHeight(); height = height > 0 ? height : 1; Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); return bitmap; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }//from w w w.j a va2s.c om int width = drawable.getIntrinsicWidth(); width = width > 0 ? width : 1; int height = drawable.getIntrinsicHeight(); height = height > 0 ? height : 1; Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); return bitmap; }
From source file:Main.java
public static Drawable toGreyDrawable(Drawable drawable) { int w = drawable.getMinimumWidth(); int h = drawable.getMinimumHeight(); if (w <= 0 || h <= 0) { return drawable; }/*from w ww .java 2 s . c o m*/ Rect bounds = drawable.getBounds(); Bitmap grey = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); Canvas c = new Canvas(grey); ColorMatrix cm = new ColorMatrix(); cm.setSaturation(0); drawable.setColorFilter(new ColorMatrixColorFilter(cm)); drawable.setBounds(0, 0, w, h); drawable.draw(c); drawable.clearColorFilter(); drawable.setBounds(bounds); BitmapDrawable bd = new BitmapDrawable(grey); bd.setBounds(0, 0, w, h); return bd; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable, boolean lowQualityImage) { if (drawable == null || drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) { return null; }/*from www . ja v a2s .com*/ drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), lowQualityImage ? Bitmap.Config.ARGB_4444 : Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.draw(canvas); return bitmap; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }/* ww w .j av a 2s . com*/ int width = drawable.getIntrinsicWidth(); width = width > 0 ? width : 1; int height = drawable.getIntrinsicHeight(); height = height > 0 ? height : 1; Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); return bitmap; }