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

来源:互联网 发布:双色球蓝球矩阵图说明 编辑:程序博客网 时间:2024/05/20 16:14
// 压缩图片功能private void compress(Bitmap bmp) {// TODO Auto-generated method stubBitmapFactory.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();// 缩放图片动作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中。如果有不同意见,欢迎,我们交流交流!
0 0
原创粉丝点击