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

时间:2014-06-10 14:14:33

标签: android

我想剪裁高度与任何设备相同的图像 我尝试使用代码裁剪图像,代码正常工作,但图像尺寸与设备高度宽度不同。
任何人都可以指导我吗?

        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);

1 个答案:

答案 0 :(得分:0)

我通过更改aspectX和aspectY字段的值来获得解决方案,如下所示

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


并注释了以下两行

//intent.putExtra("outputX", mDisplay.getWidth());    
//intent.putExtra("outputY", mDisplay.getHeight());