Ciao ragazzi,
mi rivolgo di nuovo a voi esperti.
Ho la necessità, una volta caricata un'immagine (dalla gallery o dalla fotocamera), di visualizzarla in un riquadro tipo maschera.
Il riquadro rappresenterebbe la parte su cui verrà effettuato il CROP.
Sull'immagine devo permettere lo zoom prima di tagliarla.
L'immagine la carico in questo modo:
codice:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.activity_photo, container, false);
btnPhotoFromGallery = (Button)rootView.findViewById(R.id.btnPhotoFromGallery);
mImageView = (ImageView) rootView.findViewById(R.id.imgPhoto);
btnPhotoFromGallery.setOnClickListener(this);
return rootView;
}
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode != FragmentActivity.RESULT_OK) return;
if (requestCode == RESULT_LOAD_IMAGE)
{
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bmp = utils.decodeFile(getActivity(), new File(picturePath));
try {
mImageView.setImageBitmap(utils.adjustImageRotation(bmp, picturePath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
l'immagine la carico correttamente. Ora mi serve capire come fare il CROP e lo ZOOM.
Per intenderci devo realizzare qualcosa di simile
img_zoom_crop.jpg
come faccio? avete consigli, tutorial, esempi..
grazie