http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html
1、首先说一下canvas类:
Class Overview
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
这个类相当于一个画布,你可以在里面画很多东西;
我们可以把这个Canvas理解成系统提供给我们的一块内存区域(但实际上它只是一套画图的API,真正的内存是下面的Bitmap),而且它还提供了一整套对这个内存区域进行操作的方法,所有的这些操作都是画图API。也就是说在这种方式下我们已经能一笔一划或者使用Graphic来画我们所需要的东西了,要画什么要显示什么都由我们自己控制。
这种方式根据环境还分为两种:一种就是使用普通View的canvas画图,还有一种就是使用专门的SurfaceView的canvas来画图。两种的主要是区别就是可以在SurfaceView中定义一个专门的线程来完成画图工作,应用程序不需要等待View的刷图,提高性能。前面一种适合处理量比较小,帧率比较小的动画,比如说象棋游戏之类的;而后一种主要用在游戏,高品质动画方面的画图。
下面是Canvas类常用的方法:
drawRect(RectF rect, Paint paint) //绘制区域,参数一为RectF一个区域
drawPath(Path path, Paint paint) //绘制一个路径,参数一为Path路径对象
drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) //贴图,参数一就是我们常规的Bitmap对象,参数二是源区域(这里是bitmap),参数三是目标区域(应该在canvas的位置和大小),参数四是Paint画刷对象,因为用到了缩放和拉伸的可能,当原始Rect不等于目标Rect时性能将会有大幅损失。
drawLine(float startX, float startY, float stopX, float stopY, Paintpaint) //画线,参数一起始点的x轴位置,参数二起始点的y轴位置,参数三终点的x轴水平位置,参数四y轴垂直位置,最后一个参数为Paint 画刷对象。
drawPoint(float x, float y, Paint paint) //画点,参数一水平x轴,参数二垂直y轴,第三个参数为Paint对象。
drawText(String text, float x, floaty, Paint paint) //渲染文本,Canvas类除了上面的还可以描绘文字,参数一是String类型的文本,参数二x轴,参数三y轴,参数四是Paint对象。
drawOval(RectF oval, Paint paint)//画椭圆,参数一是扫描区域,参数二为paint对象;
drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)//画弧,
参数一是RectF对象,一个矩形区域椭圆形的界限用于定义在形状、大小、电弧,参数二是起始角(度)在电弧的开始,
参数三扫描角(度)开始顺时针测量的,参数四是如果这是真的话,包括椭圆中心的电弧,并关闭它,如果它是假这将是一个弧线,参数五是Paint对象;
还要理解一个paint类:
Class Overview
The Paint class holds the style and color information about how to draw geometries, text and bitmaps.
Paint 代表了Canvas上的画笔、画刷、颜料等等;
Paint类常用方法:
setARGB(int a, int r, int g, int b) // 设置 Paint对象颜色,参数一为alpha透明值
setAlpha(int a) // 设置alpha不透明度,范围为0~255
setAntiAlias(boolean aa) // 是否抗锯齿
setColor(int color) // 设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义
setTextScaleX(float scaleX) // 设置文本缩放倍数,1.0f为原始
setTextSize(float textSize) // 设置字体大小
setUnderlineText(booleanunderlineText) // 设置下划线
相关推荐
以下是一些`Canvas`的常用方法: 1. **绘制图形**:`drawRect(Rect rect, Paint paint)`绘制矩形,`drawCircle(float cx, float cy, float radius, Paint paint)`绘制圆形,`drawLine(float startX, float startY, ...
在Android开发中,Canvas的常用方法包括: 1. `drawRect(float left, float top, float right, float bottom, Paint paint)`: 绘制矩形。 2. `drawCircle(float cx, float cy, float radius, Paint paint)`: 绘制...
以下是对Android Canvas常用方法的详细说明: 1. **Canvas操作** - **平移(Translation)**:通过`translate(float dx, float dy)`方法,可以将Canvas的绘图坐标系沿着X轴和Y轴平移。例如,`canvas.translate(100, ...
"Android 中 Canvas 转换为 Bitmap" Android 中 Canvas 转换为 Bitmap ...将 Canvas 转换为 Bitmap 是 Android 中的一种常见需求,通过使用 Canvas 和 Bitmap,我们可以将图形绘制到 ImageView 中,并实现图形的显示。
本篇文章将深入探讨如何使用Android Canvas进行图形绘制,包括基本概念、常用方法以及实际应用示例。 Canvas提供了丰富的绘图API,使得开发者可以在Bitmap或者View上绘制各种形状,如线条、圆形、矩形、弧线等。...
在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它是Android Graphics系统的一部分。...通过熟练运用Canvas的各种绘图方法和配合Paint对象,开发者可以自由地在屏幕上创造出任何想要的视觉表现。
使用这些渲染器时,可以调用`Paint`的`setShader(Shader shader)`方法将其应用到画笔上,然后在`Canvas`上进行绘制。 总结,`Paint`类在Android图形绘制中扮演着重要角色,通过它的API可以控制图形的外观和行为。而...
在Android开发中,绘制...在`TestExample`这个示例文件中,可能包含了具体的代码实现,你可以通过查看和运行这些代码来更深入地理解`Paint`类的渐变色使用方法。通过实践,你可以更好地掌握这一关键的Android绘图技术。
2. **Canvas 常用的绘图方法** - `drawRect(RectF rect, Paint paint)`:绘制矩形,其中 `RectF` 定义了矩形的边界,`Paint` 决定了颜色和风格。 - `drawPath(Path path, Paint paint)`:绘制由 `Path` 对象定义的...
下面我们将深入探讨Canvas的基本概念、常用方法,以及如何用Paint进行画线、画点、画多边形和矩阵操作。 首先,Canvas是一个HTML5标签,它的本质是一个二维渲染上下文,通过JavaScript API可以动态地在网页上绘制...
此外,Canvas还可以进行颜色填充、透明度设置、画笔样式调整等,例如通过Paint对象的`setAlpha(int alpha)`方法改变透明度,`setColor(int color)`设置颜色,`setStrokeWidth(float width)`设定线条宽度,`setStyle...
3. **Canvas的常用方法** - `drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)`:画弧线,oval参数定义了弧线所在的椭圆区域,startAngle和sweepAngle分别表示弧线的起始...
在本文中,我们将深入探讨Canvas的基本概念、常用方法以及在实际开发中的应用场景。 Canvas是Android SDK中的一个核心组件,它允许开发者在屏幕上绘制各种形状、文本、图像等。Canvas与Bitmap通常一起使用,Bitmap...
这篇博客"Android 常用画图方法练习"可能涵盖了如何在Android平台上利用Canvas、Paint等工具进行图形绘制的技术要点。以下是对这些知识点的详细说明: 1. **Canvas与Paint** - **Canvas** 是Android中用于在Bitmap...
Paint类的常用的方法 1.setColor方法,用于设置画笔的颜色, public void setColor(int color)//参数color为颜色值,也可以使用Color类定义的颜色 Color.BLACK:黑色 Color.BLUE:蓝色 Color.CYAN:青绿色 Color.DKGRAY...
在Android应用开发中,Paint类常用于Canvas对象的drawXXX系列方法,例如`drawRect()`, `drawCircle()`, `drawText()`等。通过调整Paint对象的属性,可以在屏幕上绘制出丰富多彩的图形和文字。 总之,Paint类是...
以下是对Canvas及其常用方法的详细解释: 1. **Canvas的创建**: - `Canvas()`: 这个构造函数创建一个空的画布,如果要进行实际绘制,通常需要调用`setBitmap(Bitmap bitmap)`方法设置一个Bitmap对象作为画布。 -...
CSDN_Android_Canvas绘制文字 Android 使用Canvas在图片上绘制文字...以上是Android 使用Canvas在图片上绘制文字的方法,包括字体设置、字体风格设置、绘图过程中字体设置、Paint常用方法和图片上绘制文字的实现方法。
在Android中,Canvas提供了丰富的绘图方法,以`draw`开头的方法是最常用的,如`drawArc`用于绘制弧形,`drawCircle`用于绘制圆形。这些方法允许开发者在Canvas上绘制位图、线条、文本以及其他图形,通过与Paint类...
然后,我们可以使用Canvas的drawPoint()或drawLine()方法来绘制各个数据点和连接它们的线段。 ```java @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 计算坐标轴范围和比例因子 ...