我想从服务器获取图像并放入此 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/