2017-12-07 11 views
0

안녕하세요 저는 이미지를 갤러리에서 가져 오는 이미지를 잘라낼 수 있었지만 Android 이미지 잘라 내기 라이브러리를 사용하고 있습니다.이미지 뷰에서 이미지 가져 오기 및 자르기 (Android Image Cropper Library)

하지만 이미지 뷰에서 이미지를 가져오고 갤러리 나 카메라에서 이미지를 선택하지 않으면 어떻게 이미지 작물 활동을 시작할 수 있습니까?

내가 조사했지만 이미지 URI를 사용할 때 자르기 활동을 시작할 수는 있지만 다른 사람이 할 수 있었던 것 같습니다.

내 acitivty입니다 : 이에 대해 사전에 어떤 도움

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

감사합니다, 누구나 의견하거나 이동하는 더 나은 방법이 있다면 크게 감사합니다 :

답변

0

는 당신이 시도 할 수 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(); 
     } 
    } 
}