我想剪裁高度与任何设备相同的图像
我尝试使用代码裁剪图像,代码正常工作,但图像尺寸与设备高度宽度不同。
任何人都可以指导我吗?
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 :(得分:0)
我通过更改aspectX和aspectY字段的值来获得解决方案,如下所示
intent.putExtra("aspectX", mDisplay.getWidth());
intent.putExtra("aspectY", mDisplay.getHeight());
并注释了以下两行
//intent.putExtra("outputX", mDisplay.getWidth());
//intent.putExtra("outputY", mDisplay.getHeight());