List of usage examples for android.graphics Canvas setBitmap
public void setBitmap(@Nullable Bitmap bitmap)
From source file:Main.java
private static void clear(Canvas canvas) { canvas.setBitmap(null); }
From source file:Main.java
public static Bitmap bitmapFromDrawable(Drawable drawable) { Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(); canvas.setBitmap(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas);// w w w. j av a 2 s. co m return bitmap; }
From source file:Main.java
static private Bitmap smallCoverPostProc(Bitmap smallBitmap) { try {/*from w w w. j a va 2s . c o m*/ Bitmap smallBitmapPostProc = Bitmap.createBitmap(smallBitmap.getWidth(), smallBitmap.getHeight(), Bitmap.Config.RGB_565); Canvas canvas = new Canvas(); canvas.setBitmap(smallBitmapPostProc); Paint paint = new Paint(); paint.setAntiAlias(true); Bitmap bitmapToShade = Bitmap.createBitmap(smallBitmap, 2, 2, smallBitmap.getWidth() - 4, smallBitmap.getHeight() - 4); BitmapShader bmShader = new BitmapShader(bitmapToShade, TileMode.CLAMP, TileMode.CLAMP); paint.setShader(bmShader); canvas.drawRoundRect(new RectF(2, 2, smallBitmap.getWidth() - 2, smallBitmap.getHeight() - 2), 4, 4, paint); return smallBitmapPostProc; } catch (Exception e) { e.printStackTrace(); return null; } }
From source file:Main.java
public static Bitmap createBitmapFromView(View view) { view.clearFocus();// www . j a v a 2 s . c om Bitmap bitmap = createBitmapSafely(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888, 1); if (bitmap != null) { synchronized (sCanvas) { Canvas canvas = sCanvas; canvas.setBitmap(bitmap); view.draw(canvas); canvas.setBitmap(null); } } return bitmap; }
From source file:Main.java
public static Bitmap createBitmapFromView(View view) { if (view instanceof ImageView) { Drawable drawable = ((ImageView) view).getDrawable(); if (drawable != null && drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }/*from w ww . j a v a 2s . c o m*/ } view.clearFocus(); Bitmap bitmap = createBitmapSafely(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888, 1); if (bitmap != null) { synchronized (sCanvas) { Canvas canvas = sCanvas; canvas.setBitmap(bitmap); view.draw(canvas); canvas.setBitmap(null); } } return bitmap; }
From source file:Main.java
public static Bitmap createBitmapFromView(View view) { if (view.getMeasuredHeight() <= 0) { int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); view.measure(spec, spec);/*from w ww.j ava2 s .co m*/ view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); Bitmap bitmap = createBitmapSafely(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888, 1); if (bitmap != null) { synchronized (sCanvas) { Canvas canvas = sCanvas; canvas.setBitmap(bitmap); view.draw(canvas); canvas.setBitmap(null); } } return bitmap; } view.clearFocus(); Bitmap bitmap = createBitmapSafely(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888, 1); if (bitmap != null) { synchronized (sCanvas) { Canvas canvas = sCanvas; canvas.setBitmap(bitmap); view.draw(canvas); canvas.setBitmap(null); } } return bitmap; }
From source file:Main.java
/** * Returns a Bitmap representing the thumbnail of the specified Bitmap. The * size of the thumbnail is defined by the dimension * android.R.dimen.launcher_application_icon_size. * <p>/*from ww w . j av a2s .c o m*/ * This method is not thread-safe and should be invoked on the UI thread * only. * * @param bitmap The bitmap to get a thumbnail of. * @param context The application's context. * @return A thumbnail for the specified bitmap or the bitmap itself if the * thumbnail could not be created. */ public static Bitmap createThumbnailBitmap(Bitmap bitmap, Context context) { int sIconWidth = -1; int sIconHeight = -1; final Resources resources = context.getResources(); sIconWidth = sIconHeight = (int) resources.getDimension(android.R.dimen.app_icon_size); final Paint sPaint = new Paint(); final Rect sBounds = new Rect(); final Rect sOldBounds = new Rect(); Canvas sCanvas = new Canvas(); int width = sIconWidth; int height = sIconHeight; sCanvas.setDrawFilter(new PaintFlagsDrawFilter(Paint.DITHER_FLAG, Paint.FILTER_BITMAP_FLAG)); final int bitmapWidth = bitmap.getWidth(); final int bitmapHeight = bitmap.getHeight(); if (width > 0 && height > 0) { if (width < bitmapWidth || height < bitmapHeight) { final float ratio = (float) bitmapWidth / bitmapHeight; if (bitmapWidth > bitmapHeight) { height = (int) (width / ratio); } else if (bitmapHeight > bitmapWidth) { width = (int) (height * ratio); } final Config c = (width == sIconWidth && height == sIconHeight) ? bitmap.getConfig() : Config.ARGB_8888; final Bitmap thumb = Bitmap.createBitmap(sIconWidth, sIconHeight, c); final Canvas canvas = sCanvas; final Paint paint = sPaint; canvas.setBitmap(thumb); paint.setDither(false); paint.setFilterBitmap(true); sBounds.set((sIconWidth - width) / 2, (sIconHeight - height) / 2, width, height); sOldBounds.set(0, 0, bitmapWidth, bitmapHeight); canvas.drawBitmap(bitmap, sOldBounds, sBounds, paint); return thumb; } else if (bitmapWidth < width || bitmapHeight < height) { final Config c = Config.ARGB_8888; final Bitmap thumb = Bitmap.createBitmap(sIconWidth, sIconHeight, c); final Canvas canvas = sCanvas; final Paint paint = sPaint; canvas.setBitmap(thumb); paint.setDither(false); paint.setFilterBitmap(true); canvas.drawBitmap(bitmap, (sIconWidth - bitmapWidth) / 2, (sIconHeight - bitmapHeight) / 2, paint); return thumb; } } return bitmap; }
From source file:Main.java
private static synchronized Bitmap createScaledBitmap(Bitmap bitmap, final int width, final int height, float cornerRadius) { if (bitmap == null) { return null; }/*from w ww. j a va 2 s .co m*/ int adjustedWidth = width; int adjustedHeight = height; final int bitmapWidth = bitmap.getWidth(); final int bitmapHeight = bitmap.getHeight(); //int inBytes = bitmap.getByteCount(); if (width >= bitmapWidth && height >= bitmapHeight) return bitmap; if (width > 0 && height > 0) { //if (width < bitmapWidth || height < bitmapHeight) { final float ratio = (float) bitmapWidth / bitmapHeight; if (bitmapWidth > bitmapHeight) { adjustedHeight = (int) (width / ratio); } else if (bitmapHeight > bitmapWidth) { adjustedWidth = (int) (height * ratio); } final Bitmap.Config c = Bitmap.Config.ARGB_8888; final Bitmap thumb = Bitmap.createBitmap(width, height, c); final Canvas canvas = sScaleCanvas; final Paint paint = sPaint; canvas.setBitmap(thumb); paint.setDither(false); paint.setFilterBitmap(true); Rect sBounds = new Rect(); Rect sOldBounds = new Rect(); sBounds.set((width - adjustedWidth) >> 1, (height - adjustedHeight) >> 1, adjustedWidth, adjustedHeight); sOldBounds.set(0, 0, bitmapWidth, bitmapHeight); if (cornerRadius != 0) { //Path p = new Path(); RectF rect = new RectF(sBounds); canvas.drawARGB(0, 0, 0, 0); paint.setColor(Color.WHITE); canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); //p.addRoundRect(rect, cornerRadius, cornerRadius, Direction.CCW); //canvas.clipPath(p, Op.REPLACE); } else { paint.setXfermode(null); //canvas.clipRect(0, 0, thumb.getWidth(), thumb.getHeight()); } canvas.drawBitmap(bitmap, sOldBounds, sBounds, paint); canvas.setBitmap(Bitmap.createBitmap(1, 1, Config.ALPHA_8)); return thumb; } return bitmap; }
From source file:com.adkdevelopment.earthquakesurvival.utils.Utilities.java
/** * Creates Bitmap for a Map marker depending on the magnitude of an earthquake * @param context from which call is being made * @param magnitude from 0 to 10 scale earthquake intensity * @return colorful oval of size depending on magnitude *//* w w w .j a va 2s. c om*/ public static Bitmap getEarthquakeMarker(Context context, Double magnitude) { if (magnitude < 1) { magnitude = 1.0; } GradientDrawable oval; oval = (GradientDrawable) ContextCompat.getDrawable(context, R.drawable.marker); if (oval != null) { int STROKE_SIZE = 5; float DASH_WIDTH = 9f; float DASH_GAP = 3f; if (magnitude >= 3 && magnitude <= 5) { oval.setColors(new int[] { Color.TRANSPARENT, Color.BLUE }); oval.setStroke(STROKE_SIZE, Color.BLUE, DASH_WIDTH, DASH_GAP); } else if (magnitude > 5 && magnitude < 7) { oval.setColors(new int[] { Color.TRANSPARENT, Color.YELLOW }); oval.setStroke(STROKE_SIZE, Color.YELLOW, DASH_WIDTH, DASH_GAP); } else if (magnitude >= 7) { oval.setColors(new int[] { Color.TRANSPARENT, Color.RED }); oval.setStroke(STROKE_SIZE, Color.RED, DASH_WIDTH, DASH_GAP); } else { oval.setColors(new int[] { Color.TRANSPARENT, Color.GREEN }); oval.setStroke(STROKE_SIZE, Color.GREEN, DASH_WIDTH, DASH_GAP); } int diameter = (int) (oval.getIntrinsicWidth() * magnitude / 4); Canvas canvas = new Canvas(); Bitmap icon = Bitmap.createBitmap(diameter, diameter, Bitmap.Config.ARGB_8888); canvas.setBitmap(icon); oval.setBounds(0, 0, diameter, diameter); oval.draw(canvas); return icon; } else { return null; } }
From source file:com.android.leanlauncher.WidgetPreviewLoader.java
private static void renderBitmapIconOnPreview(Bitmap icon, Bitmap preview, int x, int y, int w, int h) { if (preview != null) { final Canvas c = new Canvas(preview); icon = Bitmap.createScaledBitmap(icon, w, h, false); c.drawBitmap(icon, x, y, null);/*w w w .j a va2 s .c om*/ c.setBitmap(null); } }