我要从服务器获取图像并放入此图像视图,我要从该图像视图获取图像并用位图压缩,然后将此图像发送到其他片段,我不想为我的服务器添加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 但我想从图像视图中获取此图像并放入“我的探测器” 你能帮我吗?
答案 0 :(得分:0)
您可以使用mImageView.getDrawable()
从Drawable
获取ImageView
对象:
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
)