android Bitmap的截取和缩放--转

有一个任务 显示一张图片的中间地方的图片
1、
什么也不用设 只要固定了imageView的宽和高 就会自动缩放来填充这个imageview

2、截取

一张大图 我要截取其中的部分

Java代码
Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)

Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)

例如Java代码
Bitmap bitmap = Bitmap.createBitmap(b, 100, 20, 200, 300);

Bitmap bitmap = Bitmap.createBitmap(b, 100, 20, 200, 300);

从bitmap对象b的(100,20)开始截取宽为200,高为300的部分图像

3、ScaleType
参考:http://www.cnblogs.com/over140/archive/2010/09/19/1830703.html
上面那个虽然实现了 但是又重新生成了一张图片 内存开支有点大 我又找了找 可以用这个
Java代码
iv.setScaleType(ImageView.ScaleType.CENTER);

iv.setScaleType(ImageView.ScaleType.CENTER);

android:scaleType 参数如下

Java代码
matrix
用矩阵来绘图

fitXY
拉伸图片(不按比例)以填充View的宽高
fitStart
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边

fitCenter
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间

fitEnd
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边

center
按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示

centerCrop
按比例放大原图直至等于某边View的宽高显示。
centerInside
当原图宽高小于或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。

matrix
用矩阵来绘图

fitXY
拉伸图片(不按比例)以填充View的宽高
fitStart
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边

fitCenter
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间

fitEnd
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边

center
按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示

centerCrop
按比例放大原图直至等于某边View的宽高显示。
centerInside
当原图宽高小于或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。

4、得到缩放后的图片

Java代码
Bitmap mBitmap = Bitmap.createScaledBitmap(bmp, mScreenWidth, mScreenHeight, true);

Bitmap mBitmap = Bitmap.createScaledBitmap(bmp, mScreenWidth, mScreenHeight, true);

这个方法可以得到自己固定宽和高后的图片 系统会自动缩放并返回
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值