2013-03-29 33 views
5

Ho trovato un sacco di domande su come ritagliare un'immagine. Ma esiste un modo per avviare l'attività di modifica delle immagini attraverso un intento. Ho provato con com.android.camera.action.EDIT ma non funziona. Quello che voglio fare è quando clicco su un pulsante, avviare l'attività per modificare l'immagine, come quella sulla foto qui sotto:Android: modifica intento immagine

enter image description here

E 'come quando apro un'immagine dalla galleria e click Edit dal menu.

risposta

0

Trovato una libreria che può essere utilizzato per questo e sta lavorando molto. La libreria può essere trovata here.

+0

Il collegamento non funziona più. – Matthew

+0

@Matthew Ho aggiornato il link, lo puoi vedere ora – nikmin

+0

Ya, è stato risolto. Grazie. – Matthew

1
 Intent intent = new Intent("com.android.camera.action.CROP"); 
     intent.setDataAndType(yourimageuri, "image/*"); 
     intent.putExtra("crop", "true"); 
     intent.putExtra("aspectX", 1); 
     intent.putExtra("aspectY", 1); 
     intent.putExtra("outputX", 640); 
     intent.putExtra("outputY", 640); 
     intent.putExtra("scale", true); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outPath); 
     intent.putExtra("return-data", false); 
     intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); 
     intent.putExtra("noFaceDetection", true); 
     startActivityForResult(intent, CAMERA_CROP_RESULT); 
+1

Viene utilizzato solo per ritagliare l'immagine. Voglio tutte le opzioni di modifica come nell'immagine sopra – nikmin

+0

prova com.android.camera.action.EDITOR_CROP –

+0

Puoi browser Android 4.2 galleria AndroidManifest.xml https://android.googlesource.com/platform/packages/apps/Gallery2/+ /android-cts-4.2_r2/AndroidManifest.xml, cerca "com.android.camera.action" –

14
Intent editIntent = new Intent(Intent.ACTION_EDIT); 
editIntent.setDataAndType(uri, "image/*"); 
editIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
startActivity(Intent.createChooser(editIntent, null)); 
+5

Dovresti aggiungere alcune spiegazioni alla tua risposta! –

+0

Se si 'startActivityForResult()', ci sono tre possibili risultati di Image Editor. O l'utente modifica l'immagine e il resultCode è 'Activity.RESULT_OK', l'utente non apporta modifiche e fa clic su' Fatto' o 'Salva', a seconda dell'editor che restituisce un risultatoCodice di' Activity.RESULT_CANCELED', o l'utente preme il pulsante Indietro che restituisce resultCode di 'Activity.RESULT_CANCELED'. Perché queste ultime due opzioni restituiscono lo stesso valore resultCode? E come puoi differenziare i due? – toobsco42

+0

il modo di inviare l'immagine non funziona! –

Problemi correlati