2014-06-10 151 views
0

我想剪裁高度与任何设备相同的图像。
我尝试下面的代码来裁剪图像,代码正在工作,但图像大小与设备高度宽度不一样。
任何人都可以指导我吗?

如何裁剪尺寸的图像作为设备的高度 - 宽度?

 Display mDisplay = getActivity().getWindowManager().getDefaultDisplay(); 
     DisplayMetrics displayMetrics = getActivity().getResources().getDisplayMetrics(); 

     int outX = Utility.dpToPx(mDisplay.getWidth(), displayMetrics); 
     int outY = Utility.dpToPx(mDisplay.getHeight(), displayMetrics); 

     Intent intent = new Intent(); 
     intent.setType("image/*"); 
     intent.setAction(Intent.ACTION_PICK); 
     intent.putExtra("crop", "true"); 
     intent.putExtra("aspectX", 1); 
     intent.putExtra("aspectY", 1); 
     intent.putExtra("outputX", mDisplay.getWidth());  
     intent.putExtra("outputY", mDisplay.getHeight()); 
     intent.putExtra("scale", "true"); 
     intent.putExtra("return-data", "false"); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri()); 
     intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString()); 
     startActivityForResult(intent, SELECT_PICTURE); 

回答

0

我通过改变aspectX和aspectY字段的值如下

intent.putExtra("aspectX", mDisplay.getWidth()); 
intent.putExtra("aspectY", mDisplay.getHeight()); 


得到了解决并且评论以下两行

//intent.putExtra("outputX", mDisplay.getWidth());  
//intent.putExtra("outputY", mDisplay.getHeight()); 
相关问题