java - 从 ImageView 获取图像并使用编码位图将此图像发送到其他 fragment

标签 java android bitmap imageview

我想从服务器获取图像并放入此 ImageView 我想从此 ImageView 获取图像并使用位图压缩并将此图片发送到其他 fragment 我不想为我的服务器添加2个请求

我的代码是:

     Bitmap bmp = BitmapFactory.decodeResource(getResources(),"my problem");
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] byteArray = stream.toByteArray();
            mBundle.putByteArray("ResID", byteArray);

我知道如果我放 R.darwable.ic_luncher 就会起作用 但我想从 ImageView 中获取此图像并将其放入“我的探针” 你能帮我吗?

最佳答案

您可以使用mImageView.getDrawable()ImageView获取Drawable对象:

Drawable drawable = mImageView.getDrawable();

之后你可以从中获取一个Bitmap对象:

BitmapDrawable bitmapDrawable = ((BitmapDrawable) drawable);
Bitmap bitmap = bitmapDrawable.getBitmap();

此外,如果您愿意,甚至可以使用 InputStream 来发送字节数组:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
// Here, the CompressFormat and quality can be adjusted for output image size
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] imageBytes = stream.toByteArray();
ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes);

因此,imageBytes 将包含图像的所有字节,您可以将其发送到其他地方(在您的场景中:发送到其他 Fragment)

关于java - 从 ImageView 获取图像并使用编码位图将此图像发送到其他 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755200/

相关文章:

java - Java中的网格布局

java - 库 java.util.Date 中用于日期比较的 equals 方法

android - 引导用户点击 ListView 中的项目进行新 Activity

android - 为什么调整大小会使我的图像看起来很奇怪?

java - 使用 spring @PathVariable 提取和解析参数

java - 程序未通过调试器运行时出现空指针异常

java - 如何在一个类中使用来自不同 xml 文件的按钮

php - 阿拉伯语文本加密和解密添加到服务器

android - 如何将位图的黑色背景颜色更改为透明?

c# - 反转颠倒位图数据的最佳方法