public
class
Pen
extends
Graphics2DActivity {
int
menuOption;
@Override
protected
void
drawImage() {
switch
(menuOption) {
case
R.id.mnuLines:
drawLines();
break
;
case
R.id.mnuDashes:
drawDash();
break
;
case
R.id.mnuLineCap:
drawLineCap();
break
;
case
R.id.mnuLineJoin:
drawLineJoin();
break
;
default
:
drawLines();
break
;
}
graphic2dView.refreshCanvas();
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_option_line, menu);
return
true
;
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
menuOption = item.getItemId();
drawImage();
return
true
;
}
private
void
drawLineJoin() {
Color blackColor =
new
Color(
0xff000000
);
Color whiteColor =
new
Color(
0xffffffff
);
com.mapdigit.drawing.geometry.Path path
=
new
com.mapdigit.drawing.geometry.Path();
path.moveTo(
40
,
60
);
path.lineTo(
90
,
20
);
path.lineTo(
140
,
60
);
graphics2D.clear(Color.WHITE);
AffineTransform matrix =
new
AffineTransform();
graphics2D.setAffineTransform(matrix);
com.mapdigit.drawing.Pen pen
=
new
com.mapdigit.drawing.Pen(blackColor,
20
, com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_MITER);
graphics2D.draw(pen, path);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.draw(pen, path);
matrix.translate(
0
,
50
);
graphics2D.setAffineTransform(matrix);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_ROUND);
graphics2D.draw(pen, path);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.draw(pen, path);
matrix =
new
AffineTransform();
matrix.translate(
0
,
100
);
graphics2D.setAffineTransform(matrix);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_BEVEL);
graphics2D.draw(pen, path);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.draw(pen, path);
}
private
void
drawLineCap() {
Color blackColor =
new
Color(
0xff000000
);
Color whiteColor =
new
Color(
0xffffffff
);
graphics2D.clear(Color.WHITE);
AffineTransform matrix =
new
AffineTransform();
graphics2D.setAffineTransform(matrix);
com.mapdigit.drawing.Pen pen
=
new
com.mapdigit.drawing.Pen(blackColor,
20
, com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_MITER);
graphics2D.drawLine(pen,
40
,
60
,
140
,
60
);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.drawLine(pen,
40
,
60
,
140
,
60
);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_ROUND,
com.mapdigit.drawing.Pen.JOIN_MITER);
graphics2D.drawLine(pen,
40
,
100
,
140
,
100
);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.drawLine(pen,
40
,
100
,
140
,
100
);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_SQUARE,
com.mapdigit.drawing.Pen.JOIN_MITER);
graphics2D.drawLine(pen,
40
,
140
,
140
,
140
);
pen =
new
com.mapdigit.drawing.Pen(whiteColor,
1
);
graphics2D.drawLine(pen,
40
,
140
,
140
,
140
);
}
private
void
drawLines() {
Color greenColor =
new
Color(
0xff00ff00
);
graphics2D.clear(Color.WHITE);
AffineTransform matrix =
new
AffineTransform();
graphics2D.setAffineTransform(matrix);
com.mapdigit.drawing.Pen pen
=
new
com.mapdigit.drawing.Pen(greenColor,
1
);
graphics2D.drawLine(pen,
20
,
150
,
60
,
50
);
pen =
new
com.mapdigit.drawing.Pen(greenColor,
2
);
graphics2D.drawLine(pen,
40
,
150
,
80
,
50
);
pen =
new
com.mapdigit.drawing.Pen(greenColor,
3
);
graphics2D.drawLine(pen,
60
,
150
,
100
,
50
);
pen =
new
com.mapdigit.drawing.Pen(greenColor,
5
);
graphics2D.drawLine(pen,
80
,
150
,
120
,
50
);
pen =
new
com.mapdigit.drawing.Pen(greenColor,
7
);
graphics2D.drawLine(pen,
100
,
150
,
140
,
50
);
pen =
new
com.mapdigit.drawing.Pen(greenColor,
10
);
graphics2D.drawLine(pen,
120
,
150
,
160
,
50
);
}
private
void
drawDash() {
Color blackColor =
new
Color(
0xff000000
);
int
dashArray1[] = {
2
,
2
};
int
dashArray2[] = {
6
,
6
};
int
dashArray3[] = {
4
,
1
,
2
,
1
,
1
,
6
};
graphics2D.clear(Color.WHITE);
AffineTransform matrix =
new
AffineTransform();
graphics2D.setAffineTransform(matrix);
com.mapdigit.drawing.Pen pen
=
new
com.mapdigit.drawing.Pen(blackColor,
20
, com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_MITER, dashArray1,
0
);
graphics2D.drawLine(pen,
40
,
60
,
140
,
60
);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_MITER, dashArray2,
0
);
graphics2D.drawLine(pen,
40
,
100
,
140
,
100
);
pen =
new
com.mapdigit.drawing.Pen(blackColor,
20
,
com.mapdigit.drawing.Pen.CAP_BUTT,
com.mapdigit.drawing.Pen.JOIN_MITER, dashArray3,
0
);
graphics2D.drawLine(pen,
40
,
140
,
140
,
140
);
}
}
相关推荐
Android OpenGL ES 简明开发教程四:3D 坐标变换
Android简明开发教程二十四篇及示例代码下载.pdf
Android OpenGL ES 简明开发教程
android开发教程CHM版本的,清晰直观,详细讲述了android开发所有的机制以及原理,并配有详细例子代码讲述~
Android_OpenGL_ES_简明开发教程,介绍了OpenGL_ES在android下的简明开发方法
Android OpenGL ES 简明开发真正的3D图 Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中
这是我们开发时,老师给的资料,做的比较详细。这里免费赠送。希望下过资源的朋友,能够评论一下。方便后来人决定是否要下载
Android OpenGL ES 简明开发教程相关源码添加颜色 简单的上色方法叫做顶点着色(Vertxt coloring),可以使用单色,也可以定义颜色渐变或者使用材质(类同于二维图形中各种Brush类型)。
Android OpenGL ES 简明开发教程相关源码材质渲染 使用材质渲染,首先需要构造用来渲染的Bitmap对象,Bitmap对象可以从资源文件中读取或是从网络下载或是使用代码构造
简明批处理教程简明批处理教程简简明批处理教程明批处理教程
Python初学教程:《简明Python教程》
MFC 简明教程 MFC 简明教程 MFC 简明教程 MFC 简明教程
简明Python教程.pdf
AndroidOpenGLES简明开发教程.pdf
html简明教程html简明教程html简明教程html简明教程
《MATLAB 简明教程》,内含ppt讲解,示例代码。适合初学者
access简明教程 access简明教程 access简明教程
简明Python教程 python快速入门教程,简单明了,上手容易