List of usage examples for android.graphics.drawable Drawable draw
public abstract void draw(@NonNull Canvas canvas);
From source file:com.dm.material.dashboard.candybar.helpers.DrawableHelper.java
@Nullable public static byte[] getBitmapByte(@NonNull Drawable drawable) { try {//from w ww . j ava2 s. c o m Bitmap bitmap; if (drawable instanceof LayerDrawable) { bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(new Canvas(bitmap)); } else { bitmap = ((BitmapDrawable) drawable).getBitmap(); } ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 10, stream); return stream.toByteArray(); } catch (Exception | OutOfMemoryError e) { LogUtil.e(Log.getStackTraceString(e)); } return null; }
From source file:Main.java
public static Bitmap drawable2Bitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); } else if (drawable instanceof NinePatchDrawable) { Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); return bitmap; } else {//w w w . jav a 2 s .c o m return null; } }
From source file:org.xbmc.kore.utils.Utils.java
/** * Converts a drawable to a bitmap/*from w w w . j a va 2 s .c om*/ * @param drawable Drawable to convert * @return Bitmap */ public static Bitmap drawableToBitmap(Drawable drawable, int width, int height) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); } 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; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = ((BitmapDrawable) drawable); return bitmapDrawable.getBitmap(); } else {/*from www . ja va 2 s . c om*/ Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); return bitmap; } }
From source file:Main.java
/** * Return the {@link Bitmap} representing the {@link Drawable}. * @param drawable Object to convert to {@link Bitmap}. * @return {@link Bitmap} representing the {@link Drawable}. *///from www .j av a 2 s .co m private static Bitmap drawableToBitmap(Drawable drawable) { Bitmap retVal; if (drawable instanceof BitmapDrawable) { //Easy retVal = ((BitmapDrawable) drawable).getBitmap(); } else { drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); retVal = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); synchronized (canvas) { canvas.setBitmap(retVal); drawable.draw(canvas); } } return retVal; }
From source file:com.zandbee.floatingtitlebar.FloatingTitleBarActivity.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }//from w w w . j ava2s . c om final Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Config.ARGB_8888); final 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(); } else if (drawable instanceof NinePatchDrawable) { Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); return bitmap; } else {//from w ww . ja v a 2 s . c o m throw new IllegalArgumentException("can not support this drawable to bitmap now!!!"); } }
From source file:org.microg.gms.maps.bitmap.ResourceBitmapDescriptor.java
public static Bitmap drawableToBitmap(Context context, Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }/*from ww w. j a v a2 s .c o m*/ if (drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) { return DefaultBitmapDescriptor.DEFAULT_DESCRIPTOR.loadBitmap(context); } 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 bitmap; }
From source file:org.wikipedia.page.shareafact.SnippetImage.java
private static void drawLicenseIcons(@NonNull Context context, @Nullable Bitmap leadImageBitmap, @NonNull ImageLicense license, @NonNull Canvas canvas, boolean isArticleRTL) { final int bottom = SnippetImage.HEIGHT - SnippetImage.BOTTOM_PADDING; final int top = bottom - SnippetImage.ICONS_HEIGHT; int left = SnippetImage.HORIZONTAL_PADDING; int right = left + SnippetImage.ICONS_WIDTH; if (isArticleRTL) { right = SnippetImage.WIDTH - SnippetImage.HORIZONTAL_PADDING; left = right - SnippetImage.ICONS_WIDTH; }/* www . j av a 2s .co m*/ Drawable d = ContextCompat.getDrawable(context, shouldDefaultToCCLicense(leadImageBitmap, license) ? R.drawable.ic_license_cc : license.getLicenseIcon()); d.setBounds(left, top, right, bottom); d.draw(canvas); }
From source file:com.dm.material.dashboard.candybar.helpers.DrawableHelper.java
@Nullable public static Drawable getResizedDrawable(@NonNull Context context, @DrawableRes int drawableRes, @DimenRes int dimenRes) { try {//from w w w . j a v a 2 s .c o m Drawable drawable = getDrawable(context, drawableRes); if (drawable == null) return null; int size = context.getResources().getDimensionPixelSize(dimenRes); 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 (Exception | OutOfMemoryError e) { LogUtil.d(Log.getStackTraceString(e)); return null; } }