Java tutorial
//package com.java2s; import android.graphics.Bitmap; public class Main { public static Bitmap cutImg(Bitmap bitmap, int desiredWidth, int desiredHeight) { if (!checkBitmap(bitmap)) { return null; } if (!checkSize(desiredWidth, desiredHeight)) { return null; } Bitmap resizeBmp = null; try { int width = bitmap.getWidth(); int height = bitmap.getHeight(); int offsetX = 0; int offsetY = 0; if (width > desiredWidth) { offsetX = (width - desiredWidth) / 2; } else { desiredWidth = width; } if (height > desiredHeight) { offsetY = (height - desiredHeight) / 2; } else { desiredHeight = height; } resizeBmp = Bitmap.createBitmap(bitmap, offsetX, offsetY, desiredWidth, desiredHeight); } catch (Exception e) { e.printStackTrace(); } finally { if (resizeBmp != bitmap) { bitmap.recycle(); } } return resizeBmp; } private static boolean checkBitmap(Bitmap bitmap) { if (bitmap == null) { return false; } if (bitmap.getWidth() <= 0 || bitmap.getHeight() <= 0) { return false; } return true; } private static boolean checkSize(int desiredWidth, int desiredHeight) { if (desiredWidth <= 0 || desiredHeight <= 0) { return false; } return true; } }