2017-08-28 4 views
-1

J'ai un objet ImageView acquis à partir du fichier .xml:Comment afficher une `Image` dans` ImageView`?

mCameraView = (ImageView) findViewById(R.id.camera_view); 

J'enregistre une image prise par l'appareil photo plusieurs fois par seconde. Pour chaque nouvelle image, la méthode suivante est appelée.

@Override 
public void onImageAvailable(ImageReader reader) { 
    Image image = reader.acquireLatestImage(); 
    mCameraView.somehowDisplay(image); // HOW? 
} 

Je veux placer l'image dans la vue de l'image: Comment faire?

+0

plus de détails .... où est la 'image' situé? Dans le contexte des applications? Dans la galerie? – DroiDev

+1

https://stackoverflow.com/q/26673127/115145 – CommonsWare

+0

@DroiDev, l'image provient de l'appareil photo. J'ai mis à jour la question. – mercury0114

Répondre

1
ByteBuffer buffer = image.getPlanes()[0].getBuffer(); 
byte[] bytes = new byte[buffer.remaining()]; 
buffer.get(bytes); 
Bitmap myBitmap = BitmapFactory.decodeByteArray(bytes,0,bytes.length,null); 
mCameraView.setImageBitmap(myBitmap); 

Cela devrait fonctionner.

Reference Answer

+0

Hmm, cela convertit avec succès l'objet Image dans l'objet Bitmap, mais l'image n'est pas affichée à l'écran. – mercury0114

+0

Je pense que vous allez avoir besoin de surcharger une méthode onActivityResult. Regarde dedans. – DroiDev