Maintenant utiliser ByteArrayOutputStream pour obtenir l'image bitmap dans le flux et obtenir bytearray[]
convertir bytearray dans ByteArrayInputStream
vous pouvez utiliser le code suivant pour obtenir inputstream de imageview
L'intégralité du code Source
ImageView iv =(ImageView) findViewById(R.id.splashImageView);Drawable d =iv.getBackground();BitmapDrawable bitDw =((BitmapDrawable) d);Bitmap bitmap = bitDw.getBitmap();ByteArrayOutputStream stream =newByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,100, stream);byte[] imageInByte = stream.toByteArray();System.out.println("........length......"+imageInByte);ByteArrayInputStream bis =newByteArrayInputStream(imageInByte);
Dans votre cas, je pense que vous pouvez utiliser un ByteArrayOutputStream pour obtenir un byte[] à partir de laquelle vous pouvez créer un InputStream. Le code pourrait être quelque chose comme ceci:
ByteArrayOutputStream os =newByteArrayOutputStream(b.getByteCount());
b.compress(CompressFormat.JPEG,80, os);byte[] bytes = os.toByteArray();
Approche très intéressante. dans la question Barmaley a mentionné que la question est destinée pour imageview Une ImageView affiche une image. Pour capturer n'importe quelle vue du rendu, y compris ImageView, le code ci-dessus va faire le travail.
Ces méthodes ci-dessous sont utiles parce qu'ils fonctionnent avec tout type de Drawable (pas seulement BitmapDrawable). Si vous souhaitez utiliser le dessin cache comme dans David Caunt à la suggestion de considérer l'utilisation de bitmapToInputStream au lieu de bitmap.compress, car il devrait être plus rapide.
D'abord obtenir l'image d'arrière-plan de l'imageview comme un objet de Drawable
Puis convertir Drwable image en bitmap à l'aide de
Maintenant utiliser ByteArrayOutputStream pour obtenir l'image bitmap dans le flux et obtenir bytearray[]
convertir bytearray dans ByteArrayInputStream
vous pouvez utiliser le code suivant pour obtenir inputstream de imageview
L'intégralité du code Source
Merci
Deepak
OriginalL'auteur Sunil Kumar Sahoo
Vous pouvez utiliser le dessin cache pour récupérer une image Bitmap représentation de la classe View.
Ensuite, vous pouvez écrire l'image bitmap en un OutputStream, par exemple:
Dans votre cas, je pense que vous pouvez utiliser un ByteArrayOutputStream pour obtenir un byte[] à partir de laquelle vous pouvez créer un InputStream. Le code pourrait être quelque chose comme ceci:
dans la question Barmaley a mentionné que la question est destinée pour imageview
Une ImageView affiche une image. Pour capturer n'importe quelle vue du rendu, y compris ImageView, le code ci-dessus va faire le travail.
OriginalL'auteur David Snabel-Caunt
Ces méthodes ci-dessous sont utiles parce qu'ils fonctionnent avec tout type de Drawable (pas seulement BitmapDrawable). Si vous souhaitez utiliser le dessin cache comme dans David Caunt à la suggestion de considérer l'utilisation de
bitmapToInputStream
au lieu debitmap.compress
, car il devrait être plus rapide.OriginalL'auteur André
Vous pourriez être à la recherche de ceci:
openRawResource
OriginalL'auteur Pedro Loureiro