最近在做一个将HTML中的<img>标签中的图片获取出来并由ImageView去显示的需求。在使用Glide去加载图片的过程中发现Glide只提供了CenterCrop,FitCenter以及CenterInside这三个属性设置图片的显示效果
而我的需求是ImageView的宽高是已知的,所以要将其中显示的图片拉伸到铺满这个ImageView。我一开始的做法是将这个ImageView的scaleType设置成fitXY来拉伸图片,测试时发现在图片比较大的时候系统会抛出OOM的异常。
在网上看到了一篇类似问题的文章点我跳转
我们目前项目中经常会加载一些比较高清的大分辨率图片,所以我准备自定义一个ImageView当glide将图片以设置好的宽高加载出来以后在由ImageView显示的过程中来获取出这个bitmap修改其宽高为所需的宽高
- 新建并初始化相关工具
private void init() {
matrix = new Matrix();
paint = new Paint();