Canvas用法
做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。
不错,Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,
用它的Canvas。不同的时,Android里没有Graphics,而用Paint代之,当然用法也稍有不同。以下是自定义View的一段代码:
@Override
public void onDraw(Canvas canvas) {
// 首先定义一个paint
Paint paint = new Paint();
// 绘制矩形区域-实心矩形
// 设置颜色
paint.setColor(Color.WHITE);
// 设置样式-填充
paint.setStyle(Style.FILL);
// 绘制一个矩形
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);
// 绘空心矩形
// 设置颜色
paint.setColor(Color.RED);
// 设置样式-空心矩形
paint.setStyle(Style.STROKE);
// 绘制一个矩形
canvas.drawRect(new Rect(10, 10, 50, 20), paint);
// 绘文字
// 设置颜色
paint.setColor(Color.GREEN);
// 绘文字
canvas.drawText(str, 30, 30, paint);
// 绘图
// 从资源文件中生成位图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
// 绘图
canvas.drawBitmap(bitmap, 10, 10, paint);
}
以上需要注意的有三点:
1、Android中的Rect和java中的可能稍有区别,前两个参数是左上角的坐标,后两个参数是右下角的坐标(不是宽度和高度);
2、Style.STROKE和Style.FILL外边的像素数是有区别的,这点和java里一样;
3、绘文字时,设置的坐标点为(30,30),但绘出来后你会发现,文字的左上角坐标要比你设置的偏上,不知道是android设置的bug,还是我们有理解到坐标点的意义。
分享到:
相关推荐
Canvas是Android中的一个类,它提供了在Bitmap上绘制图形的方法。通常,我们会在View的onDraw()方法中实例化Canvas,并调用其drawXXX()系列方法来绘制图形。 1. **画曲线图**: - 创建一个自定义View类,重写...
本篇文章将深入探讨Android Canvas的使用方法以及与之相关的集合操作。 Canvas是Android中的一个类,它提供了各种绘制方法,如drawRect(), drawCircle(), drawBitmap()等,用于在SurfaceView、ImageView等组件上...
在Android图形系统中,`Canvas`是用于在Bitmap或Surface上进行绘图操作的重要类。它提供了各种绘制路径、文本、矩形、圆形以及其他图形的方法。`save()`和`restore()`是`Canvas`中两个非常关键的方法,它们主要用于...
本文将深入解析`drawBitmap()`方法的参数及其用法,并通过实例来说明如何使用该方法。 `drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)`是`drawBitmap()`方法的一个重载版本,其参数含义如下: 1. *...
在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是实现图形绘制的核心工具。...总之,自定义画布Canvas是Android图形界面开发中不可或缺的一部分,通过熟练掌握其用法,可以实现各种复杂而富有创意的视觉效果。
本篇将深入探讨`Android Canvas绘图`的相关知识点,包括基本概念、常用方法以及实际应用。 一、Canvas基础 1. `Canvas`对象:在Android中,`Canvas`是绘画的基础,它就像一块画布,我们可以在上面绘制各种元素。...
在Android中,我们可以通过重写View的`onDraw()`方法来利用Canvas进行自定义绘图。 要将矩形图片变为圆角矩形,我们主要用到Canvas的`drawRoundRect()`方法。这个方法接受一组参数,其中包含矩形的坐标、半径以及...
在Android中,通常通过`onDraw()`方法在View的生命周期中调用Canvas,如在自定义View中: ```kotlin class CustomView(context: Context, attrs: AttributeSet?) : View(context, attrs) { override fun onDraw...
该代码是一个完整的Android工程,详细演示如了如何使用Android中的各种drawXXX方法,以及画笔Paint如何影响绘制的效果。 具体参见博文: http://blog.csdn.net/iispring/article/details/49770651
- 在Android中,通常我们会在View的onDraw()方法中创建Canvas对象,并调用canvas.drawSomething()系列方法进行绘制。 - Paint可以通过new Paint()初始化,然后使用各种set方法设置属性,如`paint.setColor()`、`...
1. Android Canvas的基本绘图方法,尤其是`drawLine()`。 2. 使用Handler和Runnable实现定时任务,进行动画更新。 3. 控制动画速度、线条颜色和线宽的方法。 4. 自定义View的绘制逻辑。 5. 可能涉及的进阶技巧,如...
在Android应用开发中,Canvas通常与Bitmap配合使用。Bitmap是一个可以存储像素数据的类,我们可以将它看作是一块画布,而Canvas则是我们的画笔,用来在Bitmap上进行绘画操作。例如,我们可以通过`drawRect()`来绘制...
本篇文章将深入探讨如何使用Android Canvas进行图形绘制,包括基本概念、常用方法以及实际应用示例。 Canvas提供了丰富的绘图API,使得开发者可以在Bitmap或者View上绘制各种形状,如线条、圆形、矩形、弧线等。...
- Canvas是Android系统提供的一个类,它提供了在二维画布上进行绘制的方法。 - 通常,我们会在一个Bitmap对象上操作Canvas,因为Bitmap是Android中的像素存储介质,Canvas则负责在Bitmap上进行绘制操作。 - 除了...
接下来,我们将深入探讨如何在Android中使用Canvas实现这些效果。 首先,了解Canvas的基本概念。Canvas是Android的绘画画布,你可以将其想象为一个空白的画板,通过调用其方法来绘制线条、形状、图片等。在自定义...
总之,使用Android的Canvas进行自定义绘制是一项综合性的任务,涉及到图形学、设计和编程技巧。通过熟练掌握Canvas的各种方法和技巧,开发者可以创造出丰富多样的交互式图形界面,包括绘制出栩栩如生的人物形象。
1. **点(Point)**:使用`canvas.drawPoint()`方法可以在指定位置绘制一个点。你需要提供X和Y坐标,以及可选的颜色。 2. **直线(Line)**:使用`canvas.drawLine()`方法可以绘制一条线,参数包括起始点的X和Y坐标,...
下面我们将详细探讨Android Canvas的使用方法以及相关知识点。 1. **Canvas的基本概念** - Canvas是Android中的一个类,它提供了一个画布,开发者可以在上面执行各种绘图操作,如绘制线条、矩形、圆形、路径、文本...
通过掌握`save()`和`restore()`的使用,开发者可以更灵活地控制Android Canvas上的图形绘制,实现更丰富的视觉效果和交互。在实际项目中,这两个方法经常被用来处理动画、视图重绘以及自定义View的复杂逻辑。