利用canvas和bitmap如何对图片缩放到适应屏幕大小?
创建你自己想要大小的 bitmap
public static Bitmap resizeBitmap(Bitmap bitmap, int w, int h) {
if (bitmap != null) {
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int newWidth = w;
int newHeight = h;
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,
height, matrix, true);
return resizedBitmap;
} else {
return null;
}
}
public static Bitmap resizeBitmap(String path,intwidth,int height){
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.outWidth = width;
options.outHeight = height;
Bitmap bmp = BitmapFactory.decodeFile(path, options);
options.inSampleSize = options.outWidth / height;
options.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(path, options);
return bmp;
}
public static Bitmap resizeBitmap(Bitmap bitmap, int w, int h) {
if (bitmap != null) {
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int newWidth = w;
int newHeight = h;
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,
height, matrix, true);
return resizedBitmap;
} else {
return null;
}
}
public static Bitmap resizeBitmap(String path,intwidth,int height){
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.outWidth = width;
options.outHeight = height;
Bitmap bmp = BitmapFactory.decodeFile(path, options);
options.inSampleSize = options.outWidth / height;
options.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(path, options);
return bmp;
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。