2011.09.26(7)——— android Bitmap的截取及缩放
参考:
http://chroya.iteye.com/blog/710262
有一个任务 显示一张图片的中间地方的图片
1、
什么也不用设 只要固定了imageView的宽和高 就会自动缩放来填充这个imageview
2、截取
一张大图 我要截取其中的部分
Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)
例如
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
上面那个虽然实现了 但是又重新生成了一张图片 内存开支有点大 我又找了找 可以用这个
iv.setScaleType(ImageView.ScaleType.CENTER);
android:scaleType 参数如下
matrix
用矩阵来绘图
fitXY
拉伸图片(不按比例)以填充View的宽高
fitStart
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边
fitCenter
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间
fitEnd
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边
center
按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示
centerCrop
按比例放大原图直至等于某边View的宽高显示。
centerInside
当原图宽高小于或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。
4、得到缩放后的图片
Bitmap mBitmap = Bitmap.createScaledBitmap(bmp, mScreenWidth, mScreenHeight, true);
这个方法可以得到自己固定宽和高后的图片 系统会自动缩放并返回
分享到:
相关推荐
这篇2011年的博客文章"2011.09.27(2)——— android ImageView上下同时拉伸的效果"探讨了如何实现一个自定义的ImageView,使得图像在垂直方向上能够同时在顶部和底部进行拉伸,以达到特定的视觉效果。这种效果通常...
这篇博客“2011.10.12(3)——— android Matrix学习02”可能深入探讨了Matrix类的使用方法,虽然具体的细节没有给出,但我们可以根据Matrix的基本功能和常见用法来展开讨论。 1. **Matrix类的介绍**:Matrix是...
标题中的“2011.10.09——— android ImageView放大缩小(2)”指的是一个关于Android平台中ImageView组件的优化技术,特别是如何处理图片的缩放问题。在Android应用开发中,ImageView是用于显示图像的常见组件,但...
matrix.setRectToRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), Matrix.ScaleToFit.FILL); shader.setLocalMatrix(matrix); Paint paint...
这份"安卓Android源码——(Bitmap位图渲染与操作)"的资料,很可能是深入讲解如何在Android系统中有效地管理和操作位图资源的教程或示例代码集合。 1. **Bitmap基本概念**: Bitmap对象是Android中的一个核心类,它...
Android Bitmap.getPixels的正确理解演示源码,参考文章《Android Bitmap入门:getPixels的正确理解》
可以使用`Bitmap.createScaledBitmap()`进行缩放,`Bitmap.createBitmap()`配合Matrix进行旋转、平移和缩放。Matrix类提供了丰富的矩阵变换功能,如`postRotate()`, `postTranslate()`, `postScale()`等。 6. **...
切割图片通常指的是从原始图片中提取出一个矩形区域,这个操作在Android中可以通过Bitmap.createBitmap方法实现。以下是一个简单的示例,展示如何从Bitmap中裁剪出指定大小和位置的子Bitmap: ```java // 原始...
这个压缩包“安卓Android源码——android相册系统(用Matrix实现).rar”显然提供了一个使用Matrix类来实现相册功能的示例代码。Matrix是Android SDK中的一个关键类,用于进行2D图像变换,如旋转、缩放、平移等。接...
在Android开发中,Canvas是用于在屏幕上绘制图形和图像的核心组件。`drawBitmap()`方法是Canvas的一个关键函数,用于在Canvas上绘制Bitmap图像。本文将深入解析`drawBitmap()`方法的参数及其用法,并通过实例来说明...
这个压缩包文件"安卓Android源码——android相册系统(用Matrix实现).zip"包含了一个使用Matrix类来实现的相册系统源码。Matrix是Android图形库中的一个关键类,它允许开发者对图像进行平移、旋转、缩放等变换操作。...
本资源"安卓Android源码——android 安卓画廊 照片转换器.rar"提供了一个具体的实现案例,帮助开发者理解和学习如何在Android环境中构建这样的功能。以下是基于这个压缩包中的源码,我们可以学到的关键知识点: 1. ...
首先,Android SDK提供了`Bitmap.compress()`方法来将Bitmap保存为JPEG或PNG格式,但不支持BMP。因此,我们需要自定义一个方法来处理BMP格式的转换。这个过程主要包括以下几个步骤: 1. **获取Bitmap的像素数据**:...
Bitmap rotatedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth(), originalBitmap.getHeight(), matrix, true); ``` 除了旋转,我们还可以使用Matrix进行缩放操作。例如,将Bitmap按...
在Android开发中,处理`Bitmap`内存溢出问题是一个常见的挑战,尤其是在处理高分辨率或大尺寸图片时。当应用程序尝试加载或操作一张超出虚拟机内存预算的`Bitmap`时,系统会抛出`java.lang.OutOfMemoryError: bitmap...
1. 创建一个圆形Bitmap,可以通过Bitmap.createBitmap方法,传入宽度、高度和配置参数,再使用BitmapShader的TileMode.CLAMP模式来填充圆形区域。然后,创建一个Paint对象,并设置其颜色过滤器(colorFilter)为...
软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut); try { fOut.flush(); } catch (IOException e) { e.printStackTrace(); } try { fOut.close(); } catch (IOException e) { e.printStackTrace()...
开发者可以通过`Bitmap.Config.ARGB_8888.setConfig(Bitmap.Config.RGB_565)`等方式选择更适合的配置来利用这个池。 8. **异步加载** 图片加载应在非UI线程中进行,以避免阻塞主线程。可以使用`AsyncTask`或其他...
Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); drawable.draw(canvas); ...