`
chroya
  • 浏览: 661606 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android画图之Bitmap(二)

阅读更多

 

 

    前面一篇博文Android画图之Bitmap(一) 介绍了简单的把 Bitmap 画到屏幕上,以及缩放 Bitmap 以铺满屏幕。对 Bitmap 的操作还有很多。比如截取 Bitmap 的部分区域,可以使用

mBitmap = Bitmap.createBitmap(bmp, 100, 100, 120, 120);

 

    这句代码从 bmp (100,100) 处截取 120*120 像素区域放到新的 Bitmap 中。

 

缩放一个 Bitmap ,前面一篇已经涉及到了,可以用 Bitmap.createScaledBitmap() 方 法根据给定的 Bitmap 创建 一个新的,缩放后的 Bitmap

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

 

    其中 mScreenWidth mScreenHeight 是屏幕的宽度和高度,这里就将 bmp 拉伸到整个屏幕。

 

    每次 createBitmap ,都会分配新的内存,带来资源的 消耗,所以用 Bitmap createBitmap 虽然简单方便,但是不是最优方 法。介绍一个比较好点的方法,不用创建新的 Bitmap ,用 Canvas 在画的时候直接缩放或者剪切。

canvas.drawBitmap(mBitmap, null, new Rect(0, 0, 200, 200), null);

 

    这里的 Rect 对象表示一个矩形区域,从 (0,0) (200,200) 之间的矩形区域。这段代码将把 mBitmap 缩放并绘制到屏幕上的 (0,0) (200,200) 之间的区域。

 

 

 

 

这个方法还有第二个参数我给的是 null ,其实这个参数也是个 Rect 对象,表示源 Rect 。把图片的某个区域拿出来画到屏幕的指定区域。

canvas.drawBitmap(mBitmap, new Rect(100, 100, 300, 300), new Rect(100, 100, 200, 200), null);

 

    这里将 mBitmap (100,100) (300,300) 区域拿出来,自动缩放并画到屏幕的 (100,100) (200,200) 区域。

 

    对于 Bitmap 的处理,上面介绍的 是最简单的两种,平移和缩放。而要是需要更复杂的处理,比如旋转和倾斜,就得使用 Matrix 了。下面几篇将介绍 Matrix 在画图中的使用。

 

分享到:
评论
4 楼 vanezkw 2012-05-23  
这个文章好。对于优化内存很有用。
3 楼 shuyahui2010 2011-07-12  
刚好要用到,谢谢啊楼主了
2 楼 542891879 2010-11-29  
很不错介绍的很详细,正好我现在也能用到 谢谢LZ
1 楼 zhang247124629 2010-10-27  
支持一下下..

相关推荐

    android 画图 bitmap drawable canvas paint

    在Android平台上,绘制图形是一项基本任务,涉及到多个关键类,如Bitmap、Drawable和Canvas,以及Paint。这些类共同构成了Android图形系统的核心,使得开发者能够创建丰富的用户界面和自定义视图。 首先,Bitmap是...

    Android 实现把bitmap图片的某一部分的颜色改成其他颜色

    Android 实现把bitmap图片的某一部分的颜色改成其他颜色 在 Android 开发中,bitmap 图片处理是一个非常重要的方面,特别是在图片颜色修改方面,今天我们将介绍如何实现把 bitmap 图片的某一部分的颜色改成其他颜色...

    Android 画图程序源码.rar

    Android 画图程序源码分析 在Android平台上开发一款画图程序,涉及到许多核心技术和组件。这个"Android 画图程序源码.rar"文件提供了一个实际的案例,可以帮助我们深入理解Android图形系统的工作原理,以及如何创建...

    Android画图示例集合

    这个"Android画图示例集合"项目,通过实际代码示例,将帮助开发者熟悉以上知识点,并能熟练地在Android应用中进行自定义图形绘制。在实践中不断探索和学习,你将能够创建出更多创新和吸引人的用户界面。

    Android 画图/签名

    在Android平台上,开发人员可以利用Canvas和Bitmap等组件来实现丰富的图形绘制功能,包括但不限于画图、签名等交互式操作。Canvas是Android图形系统的核心部分,它提供了在内存中的Bitmap上绘制各种形状、线条和图像...

    看代码学Android开发系列:android画图程序源代码

    本教程将通过分析提供的“android画图程序源代码”来深入理解Android图形绘制的基本概念和技术。 首先,Android提供了多种方式来绘制图形,主要包括Canvas、Paint、Path以及Bitmap等类。Canvas是绘画的基础,它提供...

    android画图

    下面将详细介绍Android画图的相关知识点。 一、Canvas类 Canvas是Android图形系统的核心,它是绘制2D图形的画布。你可以将Canvas想象为一张白纸,你可以在这张纸上绘制各种图形。Canvas通常与Bitmap结合使用,...

    Android 画图程序源码-IT计算机-毕业设计.zip

    这个源码示例提供了一个完整的Android画图应用程序,可以帮助学生和开发者了解如何在Android环境中创建交互式的绘图工具。下面我们将详细探讨这款应用的核心知识点。 1. **Android SDK和Eclipse/Android Studio**:...

    android画图总结

    接下来,深入到【Android画图学习总结(二)——Bitmap.doc】,Bitmap是Android中处理图像的基本类。你可以加载本地图片文件,或者通过BitmapFactory解析资源文件得到Bitmap对象。在内存管理中,需要关注Bitmap的...

    android 画图集合.zip

    在Android平台上,画图功能是通过Canvas类和相关的图形API实现的,这使得开发者能够创建丰富的自定义视图和交互式图形界面。本压缩包"android 画图集合.zip"包含多个示例项目,旨在帮助开发者深入理解Android图形...

    android画图板示例程序

    在Android平台上,开发一款画图板应用涉及到许多关键知识点,...综上所述,"android画图板示例程序"是一个涉及自定义View、Canvas绘图和触摸事件处理的项目,通过这些技术,开发者可以构建一个功能丰富的互动画图应用。

    Android代码-画图工具源码.zip

    《Android画图工具源码详解》 在移动设备领域,Android操作系统以其开源、灵活的特点深受开发者喜爱。在Android平台上开发一款画图工具,不仅可以满足用户日常的手绘需求,还可以为艺术家提供创作空间。本篇文章将...

    基于android系统的画图板

    5. **图片保存**:Android的`Bitmap`类用于表示位图图像,它可以用于保存用户在画图板上绘制的内容。我们可以将`Canvas`上的内容转换为`Bitmap`,然后利用`MediaStore.Images.Media.insertImage()`或`Bitmap....

    android画图总结.pdf

    本文将详细介绍Android画图技术的核心知识点,包括资源的获取、Bitmap、Drawable、Animation以及Paint等方面的内容。 #### 二、资源的获取 在开始画图之前,我们需要了解如何在Android应用中获取资源。Android应用...

    Android新手入门2016(16)--画图

    本教程将带你走进Android画图的世界,让你从新手快速成长为能绘制出丰富多彩图形的开发者。在2016年的这个系列教程中,我们将重点探讨如何在Android中利用Canvas和Drawable进行图形绘制。 首先,你需要了解`Canvas`...

    Android 画图工具源码.zip

    在Android应用开发中,画图工具是一个常见的功能需求,它允许用户进行自由绘画、图形编辑或者图表绘制等操作。这份"Android 画图工具源码.zip"提供的就是一个完整的Android应用程序项目,专门用于画图功能的实现。...

    Android画图之Matrix

    本文将深入探讨如何在Android中使用`Matrix`进行画图,以帮助开发者更好地理解和运用这一关键概念。 `Matrix`(矩阵)在数学中是一种线性代数结构,而在Android的绘图系统中,它被用来表示2D图形的各种变换,如平移...

    Android代码-画图程序源码.zip

    在Android平台上,开发一款画图程序可以为用户提供一个创意表达的平台,让他们通过手指或触控笔绘制出自己的作品。这个"Android代码-画图程序源码.zip"压缩包包含了实现这样一个功能的源代码,我们可以从中学到许多...

    Android简单画图应用开发

    以上就是开发一个简单的Android画图应用所涉及的关键技术点,通过这些技术,我们可以创建一个功能丰富的画图工具,满足用户的基本需求。不过,实际开发过程中还需要考虑性能优化、用户体验等因素,以提供更优质的...

Global site tag (gtag.js) - Google Analytics