Ich habe eine Frage darüber, wie man ein Bild mit dem Kamera-Intent (oder der Kamera-API) aufnimmt und dann das Bild in ein imageView bringt, damit ich es in meiner Anwendung anzeigen kann. Das habe ich bisher.Foto mit Kameraabsicht aufnehmen und in imageView oder textView anzeigen?
ich ein Setup-Taste
Button btnPicture = (Button) findViewById(R.id.btn_picture);
btnPicture.setOnClickListener(this);
ich ein Setup-Kamera Methode
private void Camera() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE_CODE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_CODE);
}
Und das ist, wo ich bin verloren. Ich versuche das Bild, das ich aufgenommen habe, zu verarbeiten.
private void processImage(Intent intent) {
setContentView(R.layout.imagelayout);
ImageView imageView = (ImageView)findViewById(R.id.image_view);
cameraBitmap = (Bitmap)intent.getExtras().get("data");
imageView.setImageBitmap(cameraBitmap);
}
Meine Absicht ist, das Bild anzuzeigen, das Sie in image_view aufgenommen haben. Ich erhalte keinen Fehler, nichts passiert. Wenn ich das Bild mache, werde ich gebeten, entweder ein weiteres Bild zu machen oder nachdem ich den Zurück-Knopf des Geräts benutzt habe, schließt sich die Anlegekraft. Es scheint, dass ich vollständig aus meiner Bewerbung herausgenommen wurde, und die Rückkehr ist ein großes Problem. Irgendwelche Vorschläge? Was vermisse ich?
O ja, und hier ist mein onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(TAKE_PICTURE_CODE == requestCode) {
Bundle extras = data.getExtras();
if (extras.containsKey("data")) {
Bitmap bmp = (Bitmap) extras.get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] image = baos.toByteArray();
if (image != null) {
Log.d(TAG, "image != null");
}
} else {
Toast.makeText(getBaseContext(), "Fail to capture image", Toast.LENGTH_LONG).show();
}
}
}
Ich versuche, das Bild in getExtras zu setzen, und es dann in ein ByteArray zu speichern. War eine andere Sache, die ich versuchte zu tun. Nicht sicher, wie alles zusammen kommt.
Geben Sie den Code für 'onActivityResult() '.. –