通过bitmap改变图片的大小

作者: shenshizhong | 来源:发表于2017-06-30 18:47 被阅读158次

有时候需要在项目中改变图片的大小,那么在代码中我们怎么改变图片的大小呢?

下面就讲下实现过程

一、通过BitmapFactory获取原始图片

二、获取图片的宽、高

三、设置想要的宽、高大小

四、计算压缩的比率

五、获得缩放的matrix

六、获取新的bitmap

其实很简单,主要就是api的使用。下面就贴出代码

private Bitmap changeBitmapSize() {

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

int width = bitmap.getWidth();

int height = bitmap.getHeight();

Log.e("width","width:"+width);

Log.e("height","height:"+height);

//设置想要的大小

int newWidth=30;

int newHeight=30;

//计算压缩的比率

float scaleWidth=((float)newWidth)/width;

float scaleHeight=((float)newHeight)/height;

//获取想要缩放的matrix

Matrix matrix = new Matrix();

matrix.postScale(scaleWidth,scaleHeight);

//获取新的bitmap

bitmap=Bitmap.createBitmap(bitmap,0,0,width,height,matrix,true);

bitmap.getWidth();

bitmap.getHeight();

Log.e("newWidth","newWidth"+bitmap.getWidth());

Log.e("newHeight","newHeight"+bitmap.getHeight());

return bitmap;

}

使用的时候直接调用就行。使用示例:

ps:欢迎关注

公众号:android_dkx

我的博客:http://blog.csdn.NET/shenshizhong

我的简书:http://www.jianshu.com/users/345daf0211ad/latest_articles

相关文章

  • 通过bitmap改变图片的大小

    有时候需要在项目中改变图片的大小,那么在代码中我们怎么改变图片的大小呢? 下面就讲下实现过程 一、通过Bitmap...

  • Bitmap

    获取Bitmap大小 Bitmap优化 一、主动释放Bitmap资源 二、主动释放ImageView的图片资源 三...

  • android性能优化之Bitmap优化

    计算Bitmap大小 影响Bitmap大小因素1.图片长度2.图片宽度3.图片的缩放比4.每个像素所占的字节(Bi...

  • android内存优化

    1、Bitmap优化:bitmap是造成oom的最大威胁可以用通过一些小技巧如:使用适当分辨率和大小的图片,即使内...

  • Android图片压缩

    // 压缩图片,显示好的效果同时降低图片大小 public Bitmap compress(String pa...

  • 简书图片大小更改

    1. 只能改变本地上传的图片大小2. 通过改变本地上传图片链接的末尾数字改变大小3. 图片大小是根据所选模式按比例...

  • Android高性能的圆角图片控件RoundImageView

    之前项目中的圆角图片控件是通过对ImageView的图片转换为Bitmap,在Bitmap的基础上实现的图片圆角。...

  • Android 图片压缩

    Android中图片压缩一般有两种方式,一种是通过改变图片的尺寸来改变图片的大小,另一种是通过改变图片像素的质量来...

  • Android图片压缩(bitmap的五种压缩方式)

    Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道...

  • bitmap的六种压缩方式,Android图片压缩

    android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道...

网友评论

  • HalouFeng:bitmap获取的大小跟图片放置在不同的文件夹下面有关系的。。options会获取到图片的原始宽高
    shenshizhong:是的,程序会加载密度更接近的图片的。上面提到用bitmap改变图片大小,只能用于小图片。顺便说下,如果是大图的情况,最好使用options。可以有效的防止OOM。后面我将options的使用再加一下。最后感谢你的评论。
  • HalouFeng:请问下,为什么要通过bitmap来获取图片的宽高,而不是通过options来获取呢

本文标题:通过bitmap改变图片的大小

本文链接:https://www.haomeiwen.com/subject/nuyicxtx.html