android 图片处理(截取,缩放)

来源:互联网 发布:修改rdp端口 编辑:程序博客网 时间:2024/06/06 08:24

有一个任务 显示一张图片的中间地方的图片 
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);  

这个方法可以得到自己固定宽和高后的图片 系统会自动缩放并返回

 

转自: http://blog.csdn.net/yangdeli888/article/details/7956188

0 0
原创粉丝点击