List of usage examples for android.graphics Canvas Canvas
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) public Canvas(long nativeCanvas)
From source file:Main.java
public static Bitmap setShadow(Bitmap bitmap, int radius) { BlurMaskFilter blurFilter = new BlurMaskFilter(radius, BlurMaskFilter.Blur.OUTER); Paint shadowPaint = new Paint(); shadowPaint.setAlpha(50);/*from ww w .ja va 2 s . c o m*/ shadowPaint.setColor(0xff424242); shadowPaint.setMaskFilter(blurFilter); int[] offsetXY = new int[2]; Bitmap shadowBitmap = bitmap.extractAlpha(shadowPaint, offsetXY); Bitmap shadowImage32 = shadowBitmap.copy(Bitmap.Config.ARGB_8888, true); Canvas c = new Canvas(shadowImage32); c.drawBitmap(bitmap, -offsetXY[0], -offsetXY[1], null); return shadowImage32; }
From source file:Main.java
public static Bitmap drawable2Bitmap(Drawable drawable) { if (drawable == null) { return null; }//ww w . j a v a 2 s . com int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 // : Bitmap.Config.RGB_565; Bitmap.Config config = Bitmap.Config.ARGB_8888; Bitmap bitmap = Bitmap.createBitmap(w, h, config); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); drawable.draw(canvas); return bitmap; }
From source file:Main.java
/** * Returns semi-rounded bitmap. This is used for displaying atn promotion images. * /*w ww .j a v a2 s . co m*/ * @param context * @param input * @return */ public static Bitmap getSemiRoundedBitmap(Context context, Bitmap input) { Bitmap output = Bitmap.createBitmap(input.getWidth(), input.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final float densityMultiplier = context.getResources().getDisplayMetrics().density; final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, input.getWidth(), input.getHeight()); final RectF rectF = new RectF(rect); //make sure that our rounded corner is scaled appropriately final float roundPx = densityMultiplier * 10; paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); //draw rectangles over the corners we want to be square canvas.drawRect(input.getWidth() / 2, 0, input.getWidth(), input.getHeight() / 2, paint); canvas.drawRect(input.getWidth() / 2, input.getHeight() / 2, input.getWidth(), input.getHeight(), paint); paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(input, 0, 0, paint); input.recycle(); return output; }
From source file:Main.java
public static Bitmap getTextImage(String text, float size, int width, int height) { final Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Paint paint = new Paint(); final Canvas canvas = new Canvas(bmp); canvas.drawColor(Color.WHITE); paint.setColor(Color.BLACK);//from www . j av a2 s . c o m paint.setStyle(Style.FILL); paint.setAntiAlias(true); paint.setTextAlign(Align.CENTER); paint.setTextSize(size); paint.setTypeface(Typeface.DEFAULT); canvas.drawText(text, width / 2, height / 2, paint); return bmp; }
From source file:Main.java
public static final Bitmap complementedBitmapByAlpha(Bitmap bitmap) { if (null == bitmap) { return null; }//from w ww . j a v a 2 s . co m int width = bitmap.getWidth(); int height = bitmap.getHeight(); if (width == height) { return bitmap; } int len = width > height ? width : height; Bitmap output = Bitmap.createBitmap(len, len, Config.ARGB_8888); Canvas canvas = new Canvas(output); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setAlpha(0); canvas.drawPaint(paint); if (width > height) { int devide = (width - height) / 2; canvas.drawBitmap(bitmap, 0, devide, paint_comm); } else { int devide = (height - width) / 2; canvas.drawBitmap(bitmap, devide, 0, paint_comm); } return output; }
From source file:Main.java
public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); }// w w w . j a v a 2 s. c om int width = drawable.getIntrinsicWidth(); width = width > 0 ? width : 96; int height = drawable.getIntrinsicHeight(); height = height > 0 ? height : 96; 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) { return ((BitmapDrawable) drawable).getBitmap(); }/* w ww . j a va 2 s .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; }
From source file:Main.java
public static final Bitmap complementedBitmapByColor(Bitmap bitmap, int color) { if (null == bitmap) { return null; }//from w w w. j ava 2s . c o m int width = bitmap.getWidth(); int height = bitmap.getHeight(); if (width == height) { return bitmap; } int len = width > height ? width : height; Bitmap output = Bitmap.createBitmap(len, len, Config.ARGB_8888); Canvas canvas = new Canvas(output); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); // paint.setAlpha(0); paint.setColor(color); canvas.drawPaint(paint); if (width > height) { int devide = (width - height) / 2; canvas.drawBitmap(bitmap, 0, devide, paint_comm); } else { int devide = (height - width) / 2; canvas.drawBitmap(bitmap, devide, 0, paint_comm); } return output; }
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 w w .j a v a 2s. co 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 getCroppedBitmap(Bitmap bmp, int radius) { Bitmap sbmp;/* w w w . j a v a 2s. c o m*/ if (bmp.getWidth() != radius || bmp.getHeight() != radius) sbmp = Bitmap.createScaledBitmap(bmp, radius, radius, false); else sbmp = bmp; Bitmap output = Bitmap.createBitmap(sbmp.getWidth(), sbmp.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); //final int color = 0xffa19774; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, sbmp.getWidth(), sbmp.getHeight()); paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(Color.parseColor("#BAB399")); canvas.drawCircle(sbmp.getWidth() / 2 + 0.7f, sbmp.getHeight() / 2 + 0.7f, sbmp.getWidth() / 2 + 0.1f, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(sbmp, rect, rect, paint); return output; }