我想对图像进行裁剪,我发现了一些非常有用的图像,但是某种程度上就像是缺少未选中区域的暗色,所以我想知道有人知道吗?或引导我朝正确的方向前进?我发现的在线教程显示,该区域将使选定区域变暗,但是当我使用它时,它将不会变暗。请帮助我,非常感谢,也很抱歉我的英语水平不好。

链接到我使用的教程。

Crop image tutorial 1

Crop Image tutorial 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);

        }
});

编辑
我使用此按钮监听器通过调用类CropImage Activity 来调用cropImage文件。这是一个自定义的意图,不是android内部的裁剪功能,但是我认为它是它的副本,以便使其支持所有版本,但是当我调用它时,所选区域没有变亮,我不知道问题出在哪儿,有人可以指导我吗?谢谢
这是我正在使用的库drioid4you crop image

最佳答案

您可以使用默认的Android Crop功能吗?

这是我的代码

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

这对我来说很容易实现,并且显示出较暗的区域。

关于android - 在Android中裁剪图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15228812/

10-12 03:33