package com.gyarmy.imageTest; import java.io.IOException; import android.media.ExifInterface; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; import android.util.DisplayMetrics; import android.view.Menu; import android.view.View; import android.widget.ImageView; public class MainActivity extends Activity { public ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv =(ImageView) findViewById(R.id.iv); } public void testBtn(View v){ String path = Environment.getExternalStorageDirectory().toString(); path = path+"/Download/04.jpg"; System.out.println(path); BitmapFactory.Options opts = new Options(); //设置采样率 //屏幕的值 DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); //宽和高的信息 int widthPixels = displayMetrics.widthPixels; int heightPixels = displayMetrics.heightPixels; //图片信息 try { ExifInterface exif = new ExifInterface(path); int imgWidth = exif.getAttributeInt(ExifInterface.TAG_IMAGE_WIDTH, 0); int imgHeight = exif.getAttributeInt(ExifInterface.TAG_IMAGE_LENGTH, 0); System.out.println(imgWidth +"===="+imgHeight); int sampleWidth = (int) (imgWidth*1f/widthPixels+0.5f); int sampleHeight = (int) (imgHeight*1f/heightPixels+0.5f); System.out.println(sampleWidth +"===="+sampleHeight); int sampleS = (int) (Math.sqrt(sampleWidth*sampleWidth + sampleHeight*sampleHeight)+0.5f); System.out.println(sampleS); opts.inSampleSize = sampleS; //设置图片 Bitmap decodeImg = BitmapFactory.decodeFile(path, opts); //加载图 iv.setImageBitmap(decodeImg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
0则评论给“图片采样率设置”