pro.Android Media-处置大的图片

pro.Android Media--处理大的图片调用照相机程序,可以在intent中加入android.provider.MediaStore.EXTRA_O

pro.Android Media--处理大的图片

调用照相机程序,可以在intent中加入android.provider.MediaStore.EXTRA_OUTPUT参数来设置图片保存位置。如下:

?

public class SizedCameraIntent extends Activity {final static int CAMERA_RESULT = 0;ImageView mImagevView;String imageFilePath;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.ch1);imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myfavoritepicture.jpg";File imageFile = new File(imageFilePath);Uri imageFileUri = Uri.fromFile(imageFile);//Uri imageFileUri = Uri.parse("file:///sdcard/myfavoritepicture.jpg");Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);startActivityForResult(i, CAMERA_RESULT);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(resultCode == RESULT_OK){mImagevView = (ImageView)findViewById(R.id.returnedImageView);Display currentDisplay = getWindowManager().getDefaultDisplay();int dw = currentDisplay.getWidth();int dh = currentDisplay.getHeight();//得到图片大小但是不加载图片BitmapFactory.Options options = new BitmapFactory.Options();options.inJustDecodeBounds = true;Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, options);int heightRatio = (int)Math.ceil(options.outHeight/(float)dh);int widthRatio = (int)Math.ceil(options.outWidth/(float)dw);if(heightRatio > 1 && widthRatio > 1){if(heightRatio > widthRatio){options.inSampleSize = heightRatio;}else{options.inSampleSize = widthRatio;}}//解析图片options.inJustDecodeBounds = false;bmp = BitmapFactory.decodeFile(imageFilePath, options);mImagevView.setImageBitmap(bmp);}}}