我希望在我的应用程序中显示图像,并且为了显示图像,我使用Glide库。
在我的代码中,我可以更改图像大小,但我想要压缩图像。
Glide.with(context)
.load(model.get(position).getImageUrl2())
.placeholder(R.drawable.default_image)
.override(900, 600)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model,
Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(holder.newsImage);
如何压缩图像?
请帮帮我
答案 0 :(得分:0)
获取图片
Drawable drawable = getDrawable(R.drawable.bird);
从可绘制对象中获取位图
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
初始化一个新的ByteArrayStream
ByteArrayOutputStream stream = new ByteArrayOutputStream();
将位图压缩为JPEG格式,质量为50%
bitmap.compress(Bitmap.CompressFormat.JPEG,50,stream);
byte[] byteArray = stream.toByteArray();
Bitmap compressedBitmap = BitmapFactory.decodeByteArray(byteArray,0,byteArray.length);
使用压缩的位图加载图像。 我知道这不是您想要的,但我认为它可能会对您有所帮助。