android的报错提示:java.lang.RuntimeException: Canvas: trying to draw too large(192000000bytes) bitmap.
图片不是质量就是尺寸,尺寸过大会崩
我试了很多不行了 直接说
就是只需要将图片缩小到适合自己的尺寸即可
代码如下:
Bitmap image = BitmapFactory.decodeFile(imagePath);
//选择手机的图片设置统一缩小到适合自己的尺寸,不然崩
Bitmap b = Bitmap.createScaledBitmap(image, (int)(image.getWidth()*0.7), (int)(image.getHeight()*0.6), false);
完整的代码如下:
......
//提取图像原数据
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setType("image/*");
startActivityForResult(intent, REQUEST_CODE);
......
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK && requestCode == 1) {
......
}
super.onActivityResult(requestCode, resultCode, data);
}
......
public static Bitmap bitmapFactory(Context context,Uri imageUri){
String[] filePathColumns = {MediaStore.Images.Media.DATA};
Cursor c = context.getContentResolver().query(imageUri, filePathColumns, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String imagePath = c.getString(columnIndex);
c.close();
Bitmap image = BitmapFactory.decodeFile(imagePath);
Bitmap b = Bitmap.createScaledBitmap(image, (int)(image.getWidth()*0.7), (int)(image.getHeight()*0.6), false);
return b;
}
......