public void imageBitmap(View v){
String pathName = "/sdcard/a.jpg";
//1.图片解析配置
BitmapFactory.Options opts = new Options();
//2.不真去解析图片,仅获取图片头部信息[宽高,大小,日期等]
ExifInterface exif = new ExifInterface(pathName);//获取图片属性信息
String time = exif.getAttribute(ExifInterface.TAG_DATETIME); //拍摄时间
String camera = exif.getAttribute(ExifInterface.TAG_MODEL); //拍摄相机
//exif.setAttribute(tag, value); 设置图片属性信息
opts.inJustDecodeBounds = true;
BitmapFactory.decodeFile(pathName,opts);
int imageHeight = opts.outHeight;
int imageWidth = opts.outWidth;
System.out.println("高"+imageHeight+" | 宽"+imageWidth);
//获取手机屏幕宽高
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
//3.0以上才支持
Point outSize = new Point();
wm.getDefaultDisplay().getSize(outSize );
int x = outSize.x;
int y = outSize.y;
//计算缩放比例 图片尺寸/屏幕尺寸
int scaleX = imageWidth / x;
int scaleY = imageHeight / y;
int scale = 1 ; //缩放比
if (scaleX > scaleY & scaleY >= 1) {
scale = scaleX;
}
if (scaleX < scaleY & scaleX >= 1) {
scale = scaleY;
}
//3.一切完毕解析图片
opts.inJustDecodeBounds = false;
opts.inSampleSize = scale;//采样率
Bitmap bitmap = BitmapFactory.decodeFile(pathName, opts); //缩小后的Bitmap
ImageView.setImageBitmap(bitmap); //显示图片
}
public void imageButlistener(View v){
//intent 集合系统图库应用,选择照片
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 0);
}
//开启一个gallery_activity 获取其返回值-重写onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//图片uri路径 -gallery 图库程序源代码
Uri uri = data.getData();
// 大图缩略图-
// Bitmap bitmap = data.getParcelableExtra("data");
// imageView.setImageBitmap(bitmap);
imageView.setImageURI(uri); //--直接设置图片-图片太大会报错
super.onActivityResult(requestCode, resultCode, data);
}