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

// 压缩图片功能
	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();
		// 缩放图片动作
		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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值