您的位置:首页 > 移动开发 > Android开发

开发日记(2):缩略图如何制作?

2015-05-14 09:30 232 查看
// 压缩图片功能
private void compress(Bitmap bmp) {
// TODO Auto-generated method stub
BitmapFactory.Options factory = new BitmapFactory.Options();
factory.inJustDecodeBounds = true;// 当为true时 允许查询图片不为 图片像素分配内存
DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
// 得到屏幕的长和宽
int screenWidth = dm.widthPixels; // 水平分辨率
int screenHeight = dm.heightPixels; // 垂直分辨率
// 得到图片的长和宽
int picWidth = bmp.getWidth();
int picHeight = bmp.getHeight();
// 计算缩放率,新尺寸除原始尺寸
float scaleWidth = ((float) screenWidth) / picWidth;
float scaleHeight = ((float) screenHeight) / picHeight;
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
//
4000
缩放图片动作
matrix.postScale(scaleWidth, scaleHeight);
// 新得到的图片是原图片经过变换填充到整个屏幕的图片
Bitmap picNewRes = Bitmap.createBitmap(bmp, 0, 0, picWidth, picHeight,
matrix, true);
// 利用Bitmap位图对象生成缩略图
bmp = ThumbnailUtils.extractThumbnail(picNewRes, 100, 100);

putBitmapToActivity(bmp);
}

private void putBitmapToActivity(Bitmap bmp) {
LinearLayout pictures = (LinearLayout) findViewById(R.id.main_company_submission_horizontalScrollView);

ImageView imageView = new ImageView(this);
imageView.setLayoutParams(new LayoutParams(100, 100));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageBitmap(bmp);
pictures.addView(imageView);
}
这个方法就可以完成100*100的缩略图并把放在activity中。如果有不同意见,欢迎,我们交流交流!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 压缩 图片 bitmap
相关文章推荐