35
A
回答
82
这可能会实现
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
byte[] bitmapdata = bos.toByteArray();
ByteArrayInputStream bs = new ByteArrayInputStream(bitmapdata);
3
这是我的方式:
// Your Bitmap.
Bitmap bitmap = XXX;
int byteSize = bitmap.getRowBytes() * bitmap.getHeight();
ByteBuffer byteBuffer = ByteBuffer.allocate(byteSize);
bitmap.copyPixelsToBuffer(byteBuffer);
// Get the byteArray.
byte[] byteArray = byteBuffer.array();
// Get the ByteArrayInputStream.
ByteArrayInputStream bs = new ByteArrayInputStream(byteArray);
相关问题
- 1. 将输入流转换为位图
- 2. android将位图转换为ascii位图
- 3. 将servletinputstream转换为序列输入流
- 4. 将属性转换为输入流?
- 5. 将CSVwriter转换为输入流
- 6. 将GD-Sharp流转换为位图
- 7. 将图像转换为位图android
- 8. 在Android中将位图转换为GrayScale
- 9. android将位图转换为bufferedinputstream
- 10. 在android中将位图转换为jpeg
- 11. 将位图转换为byteArray android
- 12. Android:将字符串转换为位图
- 13. Android Studio - 将位图转换为java.io.File
- 14. Java将图像转换为输入流而不创建文件
- 15. 将图像转换为流
- 16. Android:将位图转换为单色位图(每像素1位)
- 17. 将输入流转换为键值对流
- 18. 将输入转换为UpperCase
- 19. 将位图转换为java.awt.image.BufferedImage
- 20. 将WebBrowser.Document转换为位图?
- 21. 将BitmapDrawable转换为位图
- 22. 将FrameLayout转换为位图
- 23. 将Ascii字符串转换为位流
- 24. 在Android中运行时转换时将SVG转换为位图
- 25. C#:将位图图像流转换为avi文件
- 26. 将mp3文件输入流转换为字节输出流的性能问题
- 27. 在Android中将视图转换为位图图像
- 28. 将位图(RGB_565)转换为灰度(8位)Android
- 29. 如何将流速图转换为流体流图
- 30. 将输入流转换为pdf到字节数组
这不是一个理想的解决方案,因为它会导致位字节在内存的2倍:在的BitmapData和BOS。所以这是浪费记忆。 – Malachiasz
@Malachiasz如果你知道更好的方法,请将其添加为答案,并将其作为评论提及我的答案。未来的人会注意到它。 – blessenm
[This post](https://stackoverflow.com/a/43669060/4515489)报告说EXIF数据在压缩中丢失,所以如果有人想要输入流以便从内存中的位图读取EXIF信息,那么另一个方法将是必要的。 – jk7