随笔分类 -  Android多媒体开发高级教程

4.2.2 在现有图像上绘制
摘要:由于是在Canvas对象上绘制,因此可以使用第三章中描述的技术,在Canvas对象上绘制 一幅图像,然后在该图像上进行绘制。 下列介绍一个完整的示例。 1 package com.nthm.androidtest; 2 3 import android.app.Activity; 4 imp... 阅读全文

posted @ 2014-08-26 16:17 宁静致远,一览众山小 阅读(375) 评论(0) 推荐(0)

4.2.1 触摸事件
摘要:为了开始实现这个应用程序,需要了解当用户触及触摸屏时Android将如何通知我们。能够处理这种情况之后,就可以允许用户使用他或她的手指在触摸屏上进行绘图。 在Android上使用的许多UI元素都继承自View类。由于正在使用一个来自位图对象的Canvas对象,且该位图对象在ImageView中显示... 阅读全文

posted @ 2014-08-26 15:09 宁静致远,一览众山小 阅读(405) 评论(0) 推荐(0)

4.2 手指绘图
摘要:虽然在位图画布上创建一幅静态的图画很有效,但是让我们更进一步,继续探索如何使用应用程序允许用户绘图。 阅读全文

posted @ 2014-08-26 14:15 宁静致远,一览众山小 阅读(166) 评论(0) 推荐(0)

4.1.6 绘制文本
摘要:当然,我们不仅局限于绘制直线、形状以及点。通过使用drawText方法,同样可以在Canvas对象上绘制文本;只需要绘制的文本作为一个字符串传入,同时传入起始的x和y坐标以及一个Paint对象。Paint类有一个称为setTextSize的方法,用来设置可以使用的文本大小。1 P... 阅读全文

posted @ 2014-08-26 14:02 宁静致远,一览众山小 阅读(550) 评论(0) 推荐(0)

4.1.5 绘制形状
摘要:Canvas类定义了多种绘制方法,接下来让我们了解一下这些方法。 1.点 这些方法中最简单的是只绘制一个点。为了绘制一个点,可以使用Canvas对象上的drawPoint方法,同时传入x和y位置以及一个Paint对象。1 canvas.drawPoint(199, 201, paint);... 阅读全文

posted @ 2014-08-26 10:40 宁静致远,一览众山小 阅读(400) 评论(0) 推荐(0)

4.1.4 使用Paint对象
摘要:在能够进行任何绘制之前,需要构造一个Paint对象。Paint对象将使我们能够定义绘图时使用的颜色、画笔大小和画笔样式。因此,可以将Paint对象看作是颜料和画笔。1 Paint paint=new Paint();2 paint.setColor(Color.G... 阅读全文

posted @ 2014-08-26 09:21 宁静致远,一览众山小 阅读(506) 评论(1) 推荐(0)

4.1.3 创建Canvas对象
摘要:现在已经创建了一幅位图对象,可以在其上进行绘制,接下来需要创建Canvas对象以用于实际的绘制。 为此,只需通过传入新的位图对象来构建一个Canvas对象。1 Bitmap bitmap=Bitmap.createBitmap((int)getWindowManager().getDefaultD... 阅读全文

posted @ 2014-08-26 08:55 宁静致远,一览众山小 阅读(252) 评论(0) 推荐(0)

4.1.2 位图配置
摘要:ARGB配置常量表明将以每个颜色8位内存的方式创建位图,8位用于“A”或Alpha通道,8位用于“R”或红色通道,8位用于“G”或者绿色通道,以及8位用于“B”或蓝色通道。这意味着对于图像中的每个像素,将为它的每个颜色(包括Alpha通道)分配一个0~255之间的值。因此将以32位表示每个像素,... 阅读全文

posted @ 2014-08-26 08:51 宁静致远,一览众山小 阅读(257) 评论(0) 推荐(0)

4.1.1 位图创建
摘要:与之前使用的方法一样,可以从一个可变的位图对象构造Canvas对象。为了创建一个可变的位图对象,即可以修改的位图对象,必须提供宽度、高度和配置。配置通常是在Bitmap.Config类中定义的一个常量值。一下代码创建了一个可变的位图对象,指定显示为宽度和高度的尺寸,并且将Bitmap.Config.... 阅读全文

posted @ 2014-08-25 17:32 宁静致远,一览众山小 阅读(193) 评论(0) 推荐(0)

4.1 画布绘图
摘要:在第三章中我们已经了解到,可以在Canvas对象上绘制位图对象。然而,这并不是Android中Canvas类的所有用途。它还支持向量和文本绘制。我们既可以通过位图对象使用Canvas对象(如同在第3章所做的一样),也可以通过View对象使用它。首先,我们将使用Canvas对象来创建或修改一个位图对象... 阅读全文

posted @ 2014-08-25 17:26 宁静致远,一览众山小 阅读(199) 评论(0) 推荐(0)

第4章 图形和触摸事件
摘要:迄今为止,我们已经探讨了如何捕获和处理摄影图像。当然,这并不是Android在图像方面提供的所有内容。本章将做一些改变,看看如何通过在画布上绘制图形元素和文本元素来创建图像。与此有关的是,我们还将探索Android提供的处理触摸屏的功能,特别是将构建一个触摸屏绘图应用程序。 阅读全文

posted @ 2014-08-25 16:36 宁静致远,一览众山小 阅读(139) 评论(0) 推荐(0)

3.6 本章小结
摘要:我们通过本章了解到,虽然android基本上是一种针对大小、内存和处理器能力都受限的设备的操作系统,但是他依然支持相当复杂的图像处理能力。本章介绍了许多处理已有图像的功能,但是关于图像功能的探索尚未结束。第4章将介绍一些有关API的内容,这样我们就能够从头创建图像,同时利用其它传感器(如触摸屏)做进... 阅读全文

posted @ 2014-08-25 16:32 宁静致远,一览众山小 阅读(170) 评论(0) 推荐(0)

3.5 图像合成
摘要:合成是将两幅图像放在一起的动作,它使得我们能够同时看到两幅图像的特征。在Android SDK中,可以通过首先在Canvas对象绘制一个位图对象,然后在相同的Canvas对象上绘制第二个位图对象的方式来实现合成。唯一的区别是在绘制第二个图像时,需要在Paint对象上指定一个过渡模式(Xfermode... 阅读全文

posted @ 2014-08-25 16:29 宁静致远,一览众山小 阅读(345) 评论(0) 推荐(0)

3.4.3 改变饱和度
摘要:幸运的是,无需知道每个想要完成的操作所对应的公式。例如,ColorMarix类有内置的方法可用于改变饱和度。1 ColorMatrix cm=new ColorMatrix();2 cm.setSaturation(0.5f);3 ... 阅读全文

posted @ 2014-08-25 10:38 宁静致远,一览众山小 阅读(138) 评论(0) 推荐(0)

3.4.2 改变对比度和亮度
摘要:可以通过增加或减少颜色值来调整图像的亮度和对比度。 以下代码将对每个颜色通道的强度加倍,其将影响到图像的亮度和对比度1 ColorMatrix cm=new ColorMatrix();2 float contrast=2;3 ... 阅读全文

posted @ 2014-08-25 10:34 宁静致远,一览众山小 阅读(573) 评论(0) 推荐(0)

3.4.1 ColorMatrix
摘要:类似于在Canvas对象上绘制Matrix对象的方法,也可以使用一个ColorMatrix对象来改变用于在Canvas对象上绘制的Paint对象。同样,ColorMatrix以类似的方式工作。它是一个数字数组,可以对图像的像素进行操作。然而不同于操作x、y和z坐标,它操作颜色值——每个像素的Red(... 阅读全文

posted @ 2014-08-25 10:24 宁静致远,一览众山小 阅读(407) 评论(0) 推荐(0)

3.4 图像处理
摘要:另一种图像编辑或处理的形式是必须处理像素自身颜色值的变化。这将使得我们能够改变对比度,亮度,整体色调等。 阅读全文

posted @ 2014-08-25 09:29 宁静致远,一览众山小 阅读(189) 评论(0) 推荐(0)

3.3.2 Matrix类的方法
摘要:然而,现在要做的是探索Matrix类的其他的方法,因为他们帮助我们完成了大部分想要完成的工作,而无需重新学习高中和大学的数学课程。与自己创建的Matrix对象中的数字不同,针对想要使用的转换,可以简单的调用相应的方法。下述的每个代码片段都可以替换“在位图上绘制位图”示例中的canvas.drawBi... 阅读全文

posted @ 2014-08-23 11:23 宁静致远,一览众山小 阅读(727) 评论(0) 推荐(0)

3.3.1 输入矩阵
摘要:Android API有一个Matrix(矩阵)类,当在现有位图对象上进行绘制或从另一个位图对象创建某个位图对象时,可以使用该类。这个类使得我们能够在一幅图像上应用空间转换。这种类型的转换可以是旋转,裁剪,缩放或者更改图像的坐标空间。 Matrix类是以9个数字的数组表示转换。在许多情况下,这些数... 阅读全文

posted @ 2014-08-23 11:11 宁静致远,一览众山小 阅读(349) 评论(0) 推荐(0)

3.3 基本的图像缩放和旋转
摘要:现在讲开始探索图像编辑和处理,学习如何执行空间转换操作,例如改变比例和旋转图像。 阅读全文

posted @ 2014-08-23 10:32 宁静致远,一览众山小 阅读(195) 评论(0) 推荐(0)

导航