Android examples for Graphics:Bitmap Crop
get Bitmap Crop Center
//package com.java2s; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; public class Main { public static Bitmap getBitmapCropCenter(Bitmap bitmap, int size, boolean recycle) { if (bitmap == null || bitmap.isRecycled()) { return bitmap; }/*from www .ja va 2 s . co m*/ int w = bitmap.getWidth(); int h = bitmap.getHeight(); int minSide = Math.min(w, h); if (w == h && minSide <= size) { return bitmap; } size = Math.min(size, minSide); float scale = Math.max((float) size / bitmap.getWidth(), (float) size / bitmap.getHeight()); Bitmap target = Bitmap.createBitmap(size, size, getConfig(bitmap)); int width = Math.round(scale * bitmap.getWidth()); int height = Math.round(scale * bitmap.getHeight()); Canvas canvas = new Canvas(target); canvas.translate((size - width) / 2f, (size - height) / 2f); canvas.scale(scale, scale); Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG | Paint.DITHER_FLAG); canvas.drawBitmap(bitmap, 0, 0, paint); if (recycle) { bitmap.recycle(); } return target; } private static Bitmap.Config getConfig(Bitmap bitmap) { Bitmap.Config config = bitmap.getConfig(); if (config == null) { config = Bitmap.Config.ARGB_8888; } return config; } }