设置图片在规定范围中间

旸君颜 2012-01-16

 Bitmap centerToFit(Bitmap bitmap, int width, int height, Context context) {

        final int bitmapWidth = bitmap.getWidth();

        final int bitmapHeight = bitmap.getHeight();

        if (bitmapWidth < width || bitmapHeight < height) {

            int color = context.getResources().getColor(R.color.window_background);

            Bitmap centered = Bitmap.createBitmap(bitmapWidth < width ? width : bitmapWidth,

                    bitmapHeight < height ? height : bitmapHeight, Bitmap.Config.RGB_565);

            centered.setDensity(bitmap.getDensity());

            Canvas canvas = new Canvas(centered);

            canvas.drawColor(color);

            canvas.drawBitmap(bitmap, (width - bitmapWidth) / 2.0f, (height - bitmapHeight) / 2.0f,

                    null);

            bitmap = centered;

        }

        return bitmap;

    }

相关推荐