public static Bitmap resizeBitmap(Bitmap bitmap, int screenWidth ,int screenHeight){ // 获得图片的宽高. int width = bitmap.getWidth(); int height = bitmap.getHeight(); //取得图片和图片所处空间的比例 float scaleBitmap = ((float) bitmap.getWidth()) / bitmap.getHeight(); float scaleView = ((float)screenWidth) / screenHeight; // 空间的大小 / bitmap 的大小 = bitmap 缩放的倍数 float scaleWidth = ((float) screenWidth) / bitmap.getWidth(); float scaleHeight = ((float) screenHeight) / bitmap.getHeight(); Matrix matrix = new Matrix(); if (scaleBitmap < scaleView) { //比例小于视框时,全部按照图片高度和视框高度的比例进行缩放 matrix.postScale(scaleHeight, scaleHeight); }else { //比例大于视框时,全部按照图片宽度和视框宽度的比例进行缩放 matrix.postScale(scaleWidth, scaleWidth); } // 得到新的图片. Bitmap newBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true); return newBitmap; }
根据屏幕宽高等比例缩放图片
最新推荐文章于 2022-09-05 17:31:27 发布