List of usage examples for android.graphics.drawable Drawable getIntrinsicWidth
public int getIntrinsicWidth()
From source file:Main.java
private static void onCenterDraw(TextView view, Canvas canvas, Drawable drawable, int gravity) { int drawablePadding = view.getCompoundDrawablePadding(); int ratio = 1; float total;// w w w. j ava 2s.c om switch (gravity) { case Gravity.END: ratio = -1; case Gravity.START: total = view.getPaint().measureText(view.getText().toString()) + drawable.getIntrinsicWidth() + drawablePadding + view.getPaddingLeft() + view.getPaddingRight(); canvas.translate(ratio * (view.getWidth() - total) / 2, 0); break; case Gravity.BOTTOM: ratio = -1; case Gravity.TOP: Paint.FontMetrics fontMetrics = view.getPaint().getFontMetrics(); total = fontMetrics.descent - fontMetrics.ascent + drawable.getIntrinsicHeight() + drawablePadding + view.getPaddingTop() + view.getPaddingBottom(); canvas.translate(0, ratio * (view.getHeight() - total) / 2); break; } }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = null;//from w ww . j a v a2s . com if (drawable instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; if (bitmapDrawable.getBitmap() != null) { return bitmapDrawable.getBitmap(); } } if (drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) { bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); // Single color bitmap will be created of 1x1 pixel } else { 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:com.nadmm.airports.utils.UiUtils.java
public static Drawable combineDrawables(Context context, Drawable d1, Drawable d2, int paddingDp) { // Assumes both d1 & d2 are same size and square shaped int w = d1.getIntrinsicWidth(); int h = d1.getIntrinsicHeight(); int paddingPx = convertDpToPx(context, paddingDp); Bitmap result = Bitmap.createBitmap(w + (d2 != null ? w + paddingPx : 0), h, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(result); canvas.setDensity(Bitmap.DENSITY_NONE); d1.setBounds(0, 0, w - 1, h - 1);/* ww w . jav a 2 s . c om*/ d1.draw(canvas); if (d2 != null) { canvas.translate(w + paddingPx, 0); d2.setBounds(0, 0, w - 1, h - 1); d2.draw(canvas); } return new BitmapDrawable(context.getResources(), result); }
From source file:Main.java
private static void onCenterDraw(TextView view, Canvas canvas, Drawable drawable, int gravity) { int drawablePadding = view.getCompoundDrawablePadding(); int ratio = 1; float total;//ww w.j a va2s . c o m switch (gravity) { case Gravity.RIGHT: ratio = -1; case Gravity.LEFT: total = view.getPaint().measureText(view.getText().toString()) + drawable.getIntrinsicWidth() + drawablePadding + view.getPaddingLeft() + view.getPaddingRight(); canvas.translate(ratio * (view.getWidth() - total) / 2, 0); break; case Gravity.BOTTOM: ratio = -1; case Gravity.TOP: Paint.FontMetrics fontMetrics0 = view.getPaint().getFontMetrics(); total = fontMetrics0.descent - fontMetrics0.ascent + drawable.getIntrinsicHeight() + drawablePadding + view.getPaddingTop() + view.getPaddingBottom(); canvas.translate(0, ratio * (view.getHeight() - total) / 2); break; } }
From source file:Main.java
public static void drawRight(Canvas canvas, Drawable drawable, View child, ViewGroup.MarginLayoutParams params) { final int top = child.getTop() - params.topMargin - drawable.getIntrinsicHeight(); final int bottom = child.getBottom() + params.bottomMargin + drawable.getIntrinsicHeight(); final int left = child.getRight() + params.rightMargin; final int right = left + drawable.getIntrinsicWidth(); drawable.setBounds(left, top, right, bottom); drawable.draw(canvas);/*from w w w . jav a 2 s . co m*/ }
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();/* w w w.ja v a 2 s. co m*/ image.setBounds(x, y, x + width, y + height); image.draw(canvas); image.setBounds(oldBounds); return width; }
From source file:com.bullmobi.message.graphics.IconFactory.java
@NonNull private static Bitmap createIcon(@NonNull Drawable drawable, int size) { Bitmap icon = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_4444); Canvas canvas = new Canvas(icon); // Calculate scale ratios int drawableWidth = drawable.getIntrinsicWidth(); int drawableHeight = drawable.getIntrinsicHeight(); float ratioX = Math.min((float) drawableWidth / drawableHeight, 1f); float ratioY = Math.min((float) drawableHeight / drawableWidth, 1f); // Calculate new width and height int width = Math.round(size * ratioX); int height = Math.round(size * ratioY); int paddingLeft = (size - width) / 2; int paddingTop = (size - height) / 2; // Apply size and draw canvas.translate(paddingLeft, paddingTop); drawable = drawable.mutate();//ww w .ja v a 2s . c o m drawable.setBounds(0, 0, width, height); drawable.draw(canvas); return icon; }
From source file:com.zandbee.floatingtitlebar.FloatingTitleBarActivity.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }//w w w .ja v a 2 s. 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(); }//from ww w.j av a 2 s . co m // We ask for the bounds if they have been set as they would be most // correct, then we check we are > 0 final int width = !drawable.getBounds().isEmpty() ? drawable.getBounds().width() : drawable.getIntrinsicWidth(); final int height = !drawable.getBounds().isEmpty() ? drawable.getBounds().height() : drawable.getIntrinsicHeight(); // Now we check we are > 0 final Bitmap bitmap = Bitmap.createBitmap(width <= 0 ? 1 : width, height <= 0 ? 1 : 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
/** * Create darkened version of input drawable offset. * * @param res//from ww w. j a v a2 s.c om * @param inImage * @param offsetX * @param offsetY * @param blurRadius Not currently used. * @param shadowColor * @return */ public static BitmapDrawable shadowImage(Resources res, Drawable inImage, int offsetX, int offsetY, float blurRadius, int shadowColor) { Bitmap inBitmap; if (inImage instanceof BitmapDrawable) { inBitmap = ((BitmapDrawable) inImage).getBitmap(); } else { // Bitmap from drawable int imgWidth = inImage.getIntrinsicWidth(); int imgHeight = inImage.getIntrinsicHeight(); inBitmap = Bitmap.createBitmap(imgWidth, imgHeight, Bitmap.Config.ARGB_8888); Canvas bottomCanvas = new Canvas(inBitmap); inImage.setBounds(0, 0, bottomCanvas.getWidth(), bottomCanvas.getHeight()); inImage.draw(bottomCanvas); } Bitmap blurBitmap = shadowBitmap(inBitmap, offsetX, offsetY, blurRadius, shadowColor); return new BitmapDrawable(res, blurBitmap); }