BmpUtil

	public static Bitmap getBmpByResid(Resources resources, int resid)
	{
//		return BitmapFactory.decodeResource(getResources(), resid);
		BitmapDrawable drawable = (BitmapDrawable)resources.getDrawable(resid);
		return drawable.getBitmap();
	}
	
	// 根据width获取bmp
	public static Bitmap getBmpByWidth(Resources resources, int resid, int dstWidth)
	{
		Bitmap bmp = getBmpByResid(resources, resid);
		double dstHeight = getHeightByWidth(bmp, dstWidth);
		bmp = Bitmap.createScaledBitmap(bmp, (int)dstWidth, (int)dstHeight, true);
		return bmp;
	}
	
	public static int getHeightByWidth(Bitmap bmp, double width)
	{
		double height = width / bmp.getWidth() * bmp.getHeight();
		return (int)height;
	}
	
	// 根据width和height获取bmp
	public static Bitmap getBmpBySize(Resources resources, int resid, int dstWidth, int dstHeight)
	{
		Bitmap bmp = getBmpByResid(resources, resid);
		bmp = Bitmap.createScaledBitmap(bmp, (int)dstWidth, (int)dstHeight, true);
		return bmp;
	}
	
	// 根据缩放因子获取等比缩放以后的bmp
	public static Bitmap getBmpByScale(Resources resources, int resid, double scale)
	{
		Bitmap bmp = getBmpByResid(resources, resid);
		double dstWidth = bmp.getWidth() * scale;
		double dstHeight = bmp.getHeight() * scale;
		bmp = Bitmap.createScaledBitmap(bmp, (int)dstWidth, (int)dstHeight, true);
		return bmp;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值