`
alp1014
  • 浏览: 25969 次
  • 来自: 北京
社区版块
存档分类
最新评论

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); 

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

相关推荐

    Android下利用Bitmap切割图片

    总结来说,Android中的Bitmap提供了强大的图片处理能力,包括切割、缩放、绘制等操作。通过合理使用这些功能,开发者可以实现各种复杂的图像处理需求。在实际开发中,需要注意内存管理,以避免性能问题和内存泄漏。...

    Android图片裁剪----移动、缩放图片进行裁剪

    Android提供了多种库和API来处理图像,例如Bitmap类用于表示位图图像,Matrix类则用于处理图像的变换,如旋转、平移和缩放。在裁剪图片时,通常会用到ImageView和CropImageView等视图组件。 移动图片: 1. 创建一个...

    android 获取界面部分view,view截图,生成bitmap图片

    Bitmap是Android中用于表示图像数据的类,它提供了丰富的操作方法,如缩放、裁剪、旋转等。在生成Bitmap后,我们可以使用`Bitmap.createScaledBitmap()`进行尺寸调整,`Bitmap.createBitmap()`用于创建一个新的...

    Android Bitmap的截取及状态栏的隐藏和显示功能

    Bitmap是Android平台中用于处理图像的核心类,它允许开发者对图像进行各种操作,如加载、绘制、裁剪、旋转、缩放以及压缩等。在Android应用开发中,Bitmap的使用非常广泛,尤其在图片显示、编辑和处理场景下不可或缺...

    android框选图片中的一部分并截取

    在框选和截取图片时,我们需要创建或获取Bitmap对象,并进行后续操作。 2. **ImageView与Canvas**:ImageView用于显示Bitmap,而Canvas则提供了一个画布,可以在上面绘制图像。在框选过程中,我们可以利用ImageView...

    android头像截取

    在Android开发中,头像截取是一个常见的需求,特别是在社交应用或者用户个人信息设置中。本教程将详细讲解如何实现各种形状的头像截取,包括正方形、长方形、椭圆形以及不规则形状。 首先,我们需要理解Android中的...

    Android图片的旋转,缩放,剪切,存储

    在Android开发中,处理图片是一项常见的任务,包括图片的旋转、缩放、剪切和存储。这些操作在各种应用场景中都很重要,例如用户选择照片、编辑照片或在应用内部显示图片。下面将详细讲解这些知识点。 1. **图片旋转...

    Android图像介绍-利用bitmap加载图片文件并表示

    为此,Android提供了缩放Bitmap的功能,如`decodeResource()`和`decodeFile()`方法中的` BitmapFactory.Options`参数,可以设置inSampleSize来降低图片解析的分辨率。 在显示Bitmap时,我们通常会将其设置到...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android dp和px之间转换 |--android INSTALL_PARSE_FAILED_MANIFEST_MALFORMED |--android root下禁用组件 |--android 判断网络状态 |--android 对话框样式 |--android 开机启动 |--android 挪动dialog的位置 |--...

    安卓头像制作图片圆角剪裁相关-仿Android版qq的自定义头像截取功能可以随意截取图片的某部分作为头像.rar

    这个压缩包文件“仿Android版qq的自定义头像截取功能,可以随意截取图片的某部分作为头像.rar”提供了一个实现这一功能的示例。以下是关于这个主题的详细知识点: 1. 图片裁剪:Android提供了多种图片裁剪的方法。...

    Android Face人脸识别检测,圆形相机预览框,截取图片(宽高自定义),圆形图片显示

    在Android平台上,开发一款应用实现人脸识别、圆形相机预览框、自定义截取图片尺寸以及圆形图片显示,涉及到了多个核心技术和组件。以下是对这些关键知识点的详细解释: 1. **Android人脸识别(Face Detection)**...

    Android应用源码截屏和截取网页整页内容

    总结起来,Android应用源码中的屏幕截图和截取网页整页内容主要涉及对Surface和Canvas的操作,以及WebView的滚动和渲染。理解这些概念和API的用法,能够帮助开发者在Android应用中实现丰富的截图功能。同时,为了...

    头像截取代码

    首先,我们需要明白头像截取的核心是图像处理,主要涉及到Android的Bitmap类和Canvas对象。Bitmap是Android系统中用于存储图像数据的类,而Canvas则用于在Bitmap上进行绘制操作。 1. **选择图片源**:用户可以选择...

    Android仿QQ截图(拉伸、移动、缩放效果)

    在Android开发中,实现类似QQ的截图功能是一项常见的需求,它包括了图像的拉伸、移动和缩放等操作。这个功能的实现主要是基于自定义View的概念,通过重写View的相关方法来达到目的。以下是对这个知识点的详细解析: ...

    android demo图片剪切

    这通常涉及到对Bitmap的处理,如绘制、缩放和平移。需要实现手势检测来处理用户的拖动和缩放操作,并实时更新裁剪框的位置和大小。 6. **裁剪逻辑**:根据用户在裁剪界面选定的区域,裁剪Bitmap。可以使用Matrix和...

    Android实例之程序界面内截取屏幕

    在Android平台上,截取屏幕是常见的需求,无论是为了调试应用,还是为了分享用户界面的设计。本文将基于"Android实例之程序界面内截取屏幕"这一主题,深入探讨如何在Android应用内部实现屏幕截图功能。 首先,我们...

    Android视频裁剪 - 含裁剪View

    2. **手势检测**:添加手势识别器(GestureDetector),监听用户的滑动和缩放操作,更新裁剪区域的坐标和大小。 3. **裁剪逻辑**:当用户调整裁剪框时,实时计算裁剪的宽高比和位置,并将这些信息保存下来。 4. **...

    Android 上传头像自定义(剪切、平移,缩放

    6. **保存结果**:最后,当用户完成编辑后,我们需要根据裁剪框的位置和大小,从原始Bitmap中截取相应的部分,并保存为新的Bitmap,这通常通过`Bitmap.createBitmap()`和`Canvas.drawBitmap()`实现。 7. **性能优化...

    最好的android图片裁剪 头像截取工具

    裁剪库通常会使用Bitmap的缩放和采样率策略来降低内存消耗。 8. **兼容性**:好的裁剪库应具备良好的设备和API版本兼容性,确保在各种Android设备上都能正常工作。 9. **错误处理**:在实际开发中,可能遇到用户...

Global site tag (gtag.js) - Google Analytics