Android中怎么实现图片压缩并加载显示
这篇文章将为大家详细讲解有关Android中怎么实现图片压缩并加载显示,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

公司主营业务:做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出大同免费做网站回馈大家。
解析:
图片压缩的关键就是
options.inSampleSize = scale;
如果scale > 0,表示图片进行了压缩
/**
* 压缩图片
* @author chen.lin
*
*/
public class LoadImageActivity extends Activity implements OnClickListener {
private Button mBtnLoad;
private ImageView mImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_load);
initViews();
}
private void initViews() {
mBtnLoad = (Button) findViewById(R.id.btnLoadImage);
mImageView = (ImageView) findViewById(R.id.imageView);
mBtnLoad.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v == mBtnLoad) {
Options options = new Options();
BitmapFactory.decodeFile("/sdcard/images/1.jpg", options);
//不去真的解析图片,只是获取图片的头部信息,宽高
options.inJustDecodeBounds = true;
//得到图片的真实宽高
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
//得到屏幕的宽高
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
int screenHeight = wm.getDefaultDisplay().getHeight();
int screenWidth = wm.getDefaultDisplay().getWidth();
//得到缩放比例
int scale = 1;
int scaleX = imageWidth / screenWidth;
int scaleY = imageHeight / screenHeight;
if (scaleX > scaleY & scaleX >=1) {//表示如果宽的缩放比例大于高的,并且scaleX>=1都为true
scale = scaleX;
}
if (scaleY > scaleX & scaleY >=1) {//表示如果高的缩放比例大于宽的,并且scaleY>=1都为true
scale = scaleY;
}
//解析图片
options.inJustDecodeBounds = false;
//修改图片的缩放比例,如果scale=4说明图片缩小4倍,像数=1/16
options.inSampleSize = scale;
Bitmap bm = BitmapFactory.decodeFile("/sdcard/images/1.jpg", options);
mImageView.setImageBitmap(bm);
}
}
}布局文件
关于Android中怎么实现图片压缩并加载显示就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享文章:Android中怎么实现图片压缩并加载显示
URL地址:http://www.jxjierui.cn/article/ppogjh.html


咨询
建站咨询
