在android中裁剪图像

我想剪裁的形象,我发现了一些非常有用的,但不知何故就像缺乏黑暗的未经select的领域,所以我想知道有谁知道如何? 或者让我走向正确的方向? 我find的在线教程显示,将会使所选区域变暗,但是当我使用它时,它不会。 请多谢我,非常抱歉我的英文不好。

我使用的教程链接。

裁剪图像教程1

裁剪图像教程2

我希望它是这样的东西。

我希望它是这样的东西

editButton.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent goEdit; goEdit = new Intent(PreviewActivity.this, CropImage.class); goEdit.putExtra("image-path", path); goEdit.putExtra("scale", true); goEdit.putExtra("fileName", nameFromPath); //finish(); checkEdit = true; startActivityForResult(goEdit,0); } }); 

编辑我使用这个button侦听器通过调用类CropImage活动调用cropImage文件。 这是一个自定义的意图不是在android内部的作物function,但我认为是它的副本,使其支持所有版本,但是当我打电话进入它选定的区域不亮,我donno哪里可以任何人指导我的问题? 谢谢这是我使用drioid4you裁剪图像的图书馆

你可以使用默认的Android裁剪function?

这是我的代码

 private void performCrop(Uri picUri) { try { Intent cropIntent = new Intent("com.android.camera.action.CROP"); // indicate image type and Uri cropIntent.setDataAndType(picUri, "image/*"); // set crop properties here cropIntent.putExtra("crop", true); // indicate aspect of desired crop cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1); // indicate output X and Y cropIntent.putExtra("outputX", 128); cropIntent.putExtra("outputY", 128); // retrieve data on return cropIntent.putExtra("return-data", true); // start the activity - we handle returning in onActivityResult startActivityForResult(cropIntent, PIC_CROP); } // respond to users whose devices do not support the crop action catch (ActivityNotFoundException anfe) { // display an error message String errorMessage = "Whoops - your device doesn't support the crop action!"; Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT); toast.show(); } } 

宣布:

 final int PIC_CROP = 1; 

在顶部。

在onActivity结果方法中,写下面的代码:

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PIC_CROP) { if (data != null) { // get the returned data Bundle extras = data.getExtras(); // get the cropped bitmap Bitmap selectedBitmap = extras.getParcelable("data"); imgView.setImageBitmap(selectedBitmap); } } } 

对我来说,实施起来相当容易,而且还会显示变暗的区域。

希望你一切顺利。 你可以使用我的代码来裁剪image.you只需要创build一个类,并使用这个类到你的XMljava类。 裁剪图像 。 您可以将选定的图像裁剪成圆形,并将其裁剪成许多选项。 希望它完全适合你。因为这是完全可以pipe理的,你可以根据你的情况来改变它。

享受你的工作:)

我发现一个非常酷的图书馆,试试这个。 这是非常顺利和易于使用。

https://github.com/TakuSemba/CropMe