`
lyunabc
  • 浏览: 551519 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Android简明开发教程十二:引路蜂二维图形库简介及颜色示例

 
阅读更多

AndroidGraphics2DTutorial定义了应用的主Activity,下面就可以开始写每个具体的二维绘图示例。不同的例子将尽量采用不同的UI控件:Menu,Content Menu,Dialog,Custom Dialog,Button等等。例子采用了引路蜂二维图形库,引路蜂二维图形库Graphics 2D API实现了移动平台(Java ME,Blackberry,iPhone,Android,Windows Phone)上图形引擎,它能够以一种统一的方式处理各种基本图形(Shape),路径(Path),文本(Texts),适量字体及图像。 简单的说来,Graphics 2D API实现了与之对应的Java SE上类似的二维图形库API。

主要功能如下:

  • 支持各种基本图形:曲线,矩形,椭圆等;支持绘制任意几何图形
  • 支持在图形,文体,图象上的碰撞检测
  • 增强的颜色扶持及颜色管理
  • 控制图形绘制的质量
  • 填充,外框,各种线条绘制
  • 二维图形变换
  • 矢量字体
  • 从左到右,从右到左,从上到下显示文体
  • 反走样
  • 透明度支持
  • 图标,及图象绘制

详细的内容可以参见 Silverlight 引路蜂二维图形库示例

我们在Android简明开发教程九:创建应用程序框架中定义了一个基类Graphics2DActivity作为所有示例Activity的父类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public abstract class Graphics2DActivity extends Activity{
protected Graphics2D graphics2D
=SharedGraphics2DInstance.graphics2d;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
protected abstract void drawImage();
public void onStart() {
super.onStart();
drawImage();
}
}

其中graphics2D为图形画板对象(Canvas)是以width x height 的二维整型数组来表示的。这个数组的每个值为一个32为整数。格式为ARGB,分别代表透明度,红色,绿色,蓝色。在画板上的绘制操作(点,线,多边形,填充等)是修改这些颜色值。

R.layout.main 中可以使用GuidebeeGraphics2DSurfaceView 或是GuidebeeGraphics2DView 来作为画板的显示结果。

抽象方法protected abstract void drawImage();用来绘制不同的内容。

修改com.pstreets.graphics2d.example.Colors 来使用引路蜂二维图形库绘制不同的颜色,如果以前用过Java SE或是.Net Framework,你会觉得引路蜂二维图形库提供的API和它们非常相似,代码很好理解。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Colors extends Graphics2DActivity{
protected void drawImage(){
/**
* The solid (full opaque) red color in the ARGB space
*/
Color redColor = new Color(0xffff0000);
/**
* The semi-opaque green color in the ARGB space (alpha is 0x78)
*/
Color greenColor = new Color(0x7800ff00,true);
/**
* The semi-opaque blue color in the ARGB space (alpha is 0x78)
*/
Color blueColor = new Color(0x780000ff,true);
/**
* The semi-opaque yellow color in the ARGB space ( alpha is 0x78)
*/
Color yellowColor = new Color(0x78ffff00,true);
/**
* The dash array
*/
int dashArray[] = { 20 ,8 };
graphics2D.clear(Color.WHITE);
SolidBrush brush=new SolidBrush(redColor);
graphics2D.fillOval(brush,30,60,80,80);
brush=new SolidBrush(greenColor);
graphics2D.fillOval(brush,60,30,80,80);
Pen pen=new Pen(yellowColor,10,Pen.CAP_BUTT,Pen.JOIN_MITER,dashArray,0);
brush=new SolidBrush(blueColor);
graphics2D.setPenAndBrush(pen,brush);
graphics2D.fillOval(null,90,60,80,80);
graphics2D.drawOval(null,90,60,80,80);
}
}

Colors Activity非常简单,除View之外,没有其它UI。 按“Back”后可以退回示例列表显示UI。

分享到:
评论

相关推荐

    Android简明开发教程二十四篇及示例代码下载.pdf

    《Android简明开发教程》是一份详尽的指南,旨在帮助初学者和有经验的开发者快速掌握Android应用开发。这份教程共分为二十四篇,涵盖了Android开发的基础到高级主题,包括安装Android SDK、创建第一个应用程序、理解...

    Android OpenGL ES 简明开发教程四:3D 坐标变换

    在Android平台进行3D图形开发时,OpenGL ES(Open Graphics Library for Embedded Systems)是一项关键的技术。它允许开发者在移动设备上创建复杂的3D图形和动画。在OpenGL ES的环境中,3D坐标变换是构建和操作3D...

    Android OpenGL ES 简明开发教程相关源码添加颜色

    Android OpenGL ES 简明开发教程相关源码添加颜色 简单的上色方法叫做顶点着色(Vertxt coloring),可以使用单色,也可以定义颜色渐变或者使用材质(类同于二维图形中各种Brush类型)。

    android开发教程CHM

    《Android开发教程CHM》是一本专为Android开发者设计的详尽指南,旨在帮助初学者和有经验的开发者深入理解Android平台的各个方面。这个CHM(Microsoft Compiled HTML Help)文件包含了大量的信息,使得学习和查阅...

    Android OpenGL ES 简明开发教程

    ### Android OpenGL ES 简明开发教程知识点梳理 #### 一、OpenGL ES 概述 - **OpenGL ES 定义**:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 的子集,专门为嵌入式系统(如手机、PDA 和游戏主机等)设计...

    Android 开发 简明教程 中文版

    【Android开发简明教程中文版】是一份专为初学者设计的详细教程,旨在帮助学习者快速掌握Android应用开发的基本技能。这份资料由经验丰富的教师编写,内容全面且深入浅出,适合对移动开发感兴趣的开发者或者在校学生...

    Android OpenGL ES 简明开发教程相关源码真正的3D图形

    Android OpenGL ES 简明开发真正的3D图 Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中

    计算机图形学简明教程课件

    5. **图形管线**:OpenGL或DirectX等图形库的工作流程,即图形管线,包括顶点处理、图元装配、光栅化和像素处理等阶段,理解这一过程对于编写图形程序至关重要。 6. **纹理映射**:通过在三维模型表面应用二维图像...

    Android_OpenGL_ES_简明开发教程

    这个简明开发教程主要参考了Jayway Team Blog中关于OpenGL ES开发的教程,该教程比较通俗易懂,非常适合OpenGL ES的初学者。教程主要通过示例和步骤讲解,旨在帮助没有3D开发经验的程序员快速入门。并且,由于很多...

    Meta分析简明教程:No.29 二分类变量的STATA操作.pptx

    Meta分析简明教程:No.29 二分类变量的STATA操作.pptx

    计算机图形学简明教程习题答案

    实验可能包括使用图形库实现特定的图形效果,或者通过编程解决实际问题,比如创建简单的3D模型、实现基本的动画效果等。 综上所述,《计算机图形学简明教程》的配套习题答案是学习者深入理解计算机图形学原理、锻炼...

    Android OpenGL ES 简明开发教程相关源码材质渲染

    在Android平台上,OpenGL ES是一种广泛使用的图形库,用于在移动设备上进行2D和3D图形渲染。OpenGL ES(Embedded Systems)是OpenGL的轻量级版本,特别为嵌入式设备设计,如智能手机和平板电脑。这个“Android ...

    计算机图形学简明教程

    中南民族大学的这门简明教程旨在为学生提供一个全面而基础的计算机图形学学习平台,包括理论讲解、实践操作以及复习指导。在这个压缩包中,你将找到一系列有助于深入理解和掌握计算机图形学核心概念的资源。 1. **...

    计算机图形学简明教程实验指导

    张彩明教授的《计算机图形学简明教程》是这门领域的一本重要教材,旨在为学习者提供清晰易懂的理论基础和实践指导。实验部分是理解和掌握计算机图形学的关键,因为它使理论知识得以应用并直观地展现出来。 本实验...

    Java大学简明教程:实例程序设计.rar

    《Java大学简明教程:实例程序设计》是一本面向初学者和在校大学生的Java编程教材。这本书通过丰富的实例,深入浅出地介绍了Java语言的基础知识和应用技巧,旨在帮助读者快速掌握Java编程技能。 首先,从"Java简明...

    计算机图形学简明教程课后习题答案

    ### 计算机图形学简明教程课后习题答案解析 #### 第二章知识点解析 **2.1 计算机图形系统的主要功能** 计算机图形系统是用于生成、处理和显示图形信息的一种综合系统。它主要包括以下几种关键功能: 1. **计算...

    《MATLAB 简明教程》ppt版本及示例代码

    MATLAB(Matrix Laboratory)是一种强大的数学计算软件,广泛应用于工程计算、数据分析、算法开发和图形可视化等多个领域。《MATLAB 简明教程》是一部专为初学者设计的指导资料,旨在帮助用户快速掌握MATLAB的基本...

    高教类课件:图形学简明教程.zip

    6. **图形编程**:课程可能会涉及图形库的使用,如OpenGL或DirectX,讲解如何编写图形程序,包括顶点数组、顶点缓冲对象、着色器编程(顶点着色器和片段着色器)等。 7. **交互式图形**:计算机图形学不仅仅是静态...

Global site tag (gtag.js) - Google Analytics