draw 2D
2015-01-03 16:29
232 查看
// 绘制点
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStrokeWidth(6);
canvas.drawPoint(50, 12, paint);
paint.setColor(Color.RED);
paint.setStrokeWidth(12);
canvas.drawPoint(100, 20, paint);
paint.setColor(Color.BLUE);
paint.setStrokeWidth(8);
canvas.drawPoints(new float[]
{ 150, 22, 200, 20 }, paint);
canvas.drawPoints(new float[]
{ 260, 22, 280, 20 }, 2, 2, paint);
// 绘制直线
paint.setColor(Color.WHITE);
paint.setStrokeWidth(4);
canvas.drawLine(20, 40, 160, 40, paint);
paint.setColor(Color.GREEN);
paint.setStrokeWidth(2);
canvas.drawLines(new float[]
{ 30, 60, 200, 90, 30, 90, 200, 60 }, paint);
paint.setColor(Color.YELLOW);
canvas.drawLines(new float[]
{ 30, 100, 300, 100, 36, 20, 120, 30 }, 0, 4, paint);
// 绘制三角形
canvas.save();
canvas.translate(20, 150);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 6, new float[]
{ 100, 50, 0, 0, 200, 0 }, 0, null, 0, null, 0, null, 0, 0, paint);
canvas.restore();
// 绘制矩形和菱形
paint.setStyle(Style.FILL);
canvas.drawRect(120, 210, 180, 255, paint);
paint.setStyle(Style.STROKE);
canvas.drawRect(new Rect(20, 210, 100, 255), paint);
canvas.save();
canvas.translate(20, 260);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_STRIP, 8, new float[]
{ 70, 0, 10, 50, 130, 50, 70, 100 }, 0, null, 0, null, 0, null, 0, 0,
paint);
canvas.restore();
canvas.save();
canvas.translate(160, 260);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 8, new float[]
{ 70, 0, 10, 50, 130, 50, 70, 100 }, 0, null, 0, null, 0, null, 0, 0,
paint);
canvas.restore();
// 绘制圆、弧和椭圆
canvas.drawCircle(200, 400, 40, paint);
canvas.drawRect(new Rect(10, 370, 70, 410), paint);
canvas.drawArc(new RectF(10, 370, 70, 410), 30, 180, false, paint);
canvas.drawArc(new RectF(100, 320,
4000
160, 470), 30, 180, true, paint);
canvas.drawArc(new RectF(200, 180, 300, 250), 0, 360, false, paint);
// 绘制文本
paint.setColor(Color.WHITE);
paint.setTextSize(40);
paint.setStyle(Style.FILL);
canvas.drawText("文字", 240, 380, paint);
paint.setStyle(Style.STROKE);
canvas.drawText("文字", 240, 440, paint);
}
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStrokeWidth(6);
canvas.drawPoint(50, 12, paint);
paint.setColor(Color.RED);
paint.setStrokeWidth(12);
canvas.drawPoint(100, 20, paint);
paint.setColor(Color.BLUE);
paint.setStrokeWidth(8);
canvas.drawPoints(new float[]
{ 150, 22, 200, 20 }, paint);
canvas.drawPoints(new float[]
{ 260, 22, 280, 20 }, 2, 2, paint);
// 绘制直线
paint.setColor(Color.WHITE);
paint.setStrokeWidth(4);
canvas.drawLine(20, 40, 160, 40, paint);
paint.setColor(Color.GREEN);
paint.setStrokeWidth(2);
canvas.drawLines(new float[]
{ 30, 60, 200, 90, 30, 90, 200, 60 }, paint);
paint.setColor(Color.YELLOW);
canvas.drawLines(new float[]
{ 30, 100, 300, 100, 36, 20, 120, 30 }, 0, 4, paint);
// 绘制三角形
canvas.save();
canvas.translate(20, 150);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 6, new float[]
{ 100, 50, 0, 0, 200, 0 }, 0, null, 0, null, 0, null, 0, 0, paint);
canvas.restore();
// 绘制矩形和菱形
paint.setStyle(Style.FILL);
canvas.drawRect(120, 210, 180, 255, paint);
paint.setStyle(Style.STROKE);
canvas.drawRect(new Rect(20, 210, 100, 255), paint);
canvas.save();
canvas.translate(20, 260);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_STRIP, 8, new float[]
{ 70, 0, 10, 50, 130, 50, 70, 100 }, 0, null, 0, null, 0, null, 0, 0,
paint);
canvas.restore();
canvas.save();
canvas.translate(160, 260);
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 8, new float[]
{ 70, 0, 10, 50, 130, 50, 70, 100 }, 0, null, 0, null, 0, null, 0, 0,
paint);
canvas.restore();
// 绘制圆、弧和椭圆
canvas.drawCircle(200, 400, 40, paint);
canvas.drawRect(new Rect(10, 370, 70, 410), paint);
canvas.drawArc(new RectF(10, 370, 70, 410), 30, 180, false, paint);
canvas.drawArc(new RectF(100, 320,
4000
160, 470), 30, 180, true, paint);
canvas.drawArc(new RectF(200, 180, 300, 250), 0, 360, false, paint);
// 绘制文本
paint.setColor(Color.WHITE);
paint.setTextSize(40);
paint.setStyle(Style.FILL);
canvas.drawText("文字", 240, 380, paint);
paint.setStyle(Style.STROKE);
canvas.drawText("文字", 240, 440, paint);
}
相关文章推荐
- Unity2D 减低DrawCall基础方法
- GEF draw2d 学习随笔
- Draw2d之FlowLayout布局
- 关于Draw2d图形的导出到图片的函数。
- Draw2D示例代码
- Direct2D (36) : RenderTarget.DrawText() 与 IDWriteTextFormat
- [Web Chart系列之五] 2. 实战draw2d 之Label 放大,缩小的问题(raphael的text类似问题)
- 当缩放遇到Texture2D drawAtPoint 函数的一个问题.
- Draw2D、GEF、GMF和EMF的解释
- Draw2d web画图脚本库
- [Web Chart系列之五] 2. 实战draw2d 之Label 放大,缩小的问题(raphael的text类似问题)
- Draw2D、GEF、GMF和EMF的解释
- cocos2dx v3.x box2d DrawDebugData 后置问题
- Draw2D--1. 设计思想和相关模式
- GEF(Graphical Editor Framework) Eclipse项目入门系列(2)---Draw2D开发环境的搭建
- Draw2D简介
- [开源框架推荐]jsDraw2D: 功能强大的js绘图框架
- Draw2D--2. 图形元素(Figure)类设计层次(2)
- Direct2D (38) : RenderTarget.DrawTextLayout() 与 IDWriteTextLayout
- [Web Chart系列之五] 6. 实战draw2d之ConnectionRouter