Java tutorial
//package com.java2s; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; public class Main { /** Creates and returns a new bitmap which is the same as the provided bitmap * but with horizontal or vertical padding (if necessary) * either side of the original bitmap * so that the resulting bitmap is a square. * @param bitmap is the bitmap to pad. * @return the padded bitmap.*/ public static Bitmap padBitmap(Bitmap bitmap) { int paddingX; int paddingY; if (bitmap.getWidth() == bitmap.getHeight()) { paddingX = 0; paddingY = 0; } else if (bitmap.getWidth() > bitmap.getHeight()) { paddingX = 0; paddingY = bitmap.getWidth() - bitmap.getHeight(); } else { paddingX = bitmap.getHeight() - bitmap.getWidth(); paddingY = 0; } Bitmap paddedBitmap = Bitmap.createBitmap(bitmap.getWidth() + paddingX, bitmap.getHeight() + paddingY, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(paddedBitmap); canvas.drawARGB(0xFF, 0xFF, 0xFF, 0xFF); // this represents white color canvas.drawBitmap(bitmap, paddingX / 2, paddingY / 2, new Paint(Paint.FILTER_BITMAP_FLAG)); return paddedBitmap; } }