从图像视图中获取图像,然后获取裁剪(Android Image Cropper库)



嗨,我一直在使用Android Image Cropper库,尽管我能够从画廊中获取图像。

但是,如果我只从图像视图中获取图像而不是从画廊或相机中选择?

我已经研究了,但是您只能在使用图像URI时开始作物活动,但也许其他人可以做到。

这是我的敏捷:

  private Uri mCropImageUri;
 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    txtExtracted = (TextView) findViewById(R.id.txtRetrieved);
    btnStartCrop = (Button) findViewById(R.id.btnStartCrop);
    imageView = (ImageView) findViewById(R.id.imgView);
    View v1 = getWindow().getDecorView().getRootView();
    v1.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
    imageView.setImageBitmap(bitmap);
   btnStartCrop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        }
    });
  }
@Override
@SuppressLint("NewApi")
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            ((ImageView) findViewById(R.id.quick_start_cropped_image)).setImageURI(result.getUri());
            Toast.makeText(this, "Cropping successful, Sample: " + result.getSampleSize(), Toast.LENGTH_LONG).show();
        } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
            Toast.makeText(this, "Cropping failed: " + result.getError(), Toast.LENGTH_LONG).show();
        }
    }
}
private void startCropImageActivity(Uri imageUri) {
    CropImage.activity(imageUri)
            .setGuidelines(CropImageView.Guidelines.ON)
            .setMultiTouchEnabled(true)
            .start(this);
}

事先感谢您对此的任何帮助,如果有人有意见或更好的方法,将不胜感激:D

您可以尝试使用picaso。

@Override
@SuppressLint("NewApi")
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            Picasso.with(this)
                .load(result.getUri())
                .into(((ImageView) findViewById(R.id.quick_start_cropped_image)));
        } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
            Toast.makeText(this, "Cropping failed: " + result.getError(), Toast.LENGTH_LONG).show();
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新