Обрезать изображение в android

Я хочу сделать обрезку изображения, и нашел некоторые довольно полезные, но почему-то не хватает темных областей, которые не выбраны, поэтому мне интересно, кто-нибудь знает, как это сделать? Или привести меня в правильное направление? В онлайн-учебнике, который я нашел, показано, что будет затемнять выбранную область, но когда я его использую, это не будет. Пожалуйста, помогите мне поблагодарить много и извините за мою неудачную команду по английскому языку.

Ссылки на учебник, который я использую.

Учебное пособие по обрезке 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); } }); 

EDIT Я использую этот прослушиватель кнопок для вызова в файл cropImage, вызвав его в класс CropImage. Это особый настрой, а не функция обрезки внутри андроида, но я думаю, что это ее копия, чтобы она поддерживала все версии, но когда я звоню в нее, выбранная область не становится ярче, и я не знаю, где проблема, может ли кто-нибудь мне навестить? Спасибо. Это библиотека, в которой я использую drioid4you.

Solutions Collecting From Web of "Обрезать изображение в android"

Можете ли вы использовать функциональные возможности Android по умолчанию?

Вот мой код

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

Для меня довольно легко реализовать, а также отобразить темные области.

надеюсь у тебя все хорошо. Вы можете использовать мой код для обрезки изображения. Вам просто нужно сделать класс и использовать этот класс в своих классах XMl и java . Обрезать изображение . Вы можете обрезать выбранное изображение в круг и квадрат во многих вариантах. Надеюсь, что это будет работать для вас. Потому что это полностью управляемо для вас, и вы можете изменить его в соответствии с вами.

наслаждайся работой 🙂