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.save()和canvas.restore()的demo
该代码是一个完整的Android工程,详细演示如了如何使用Android中的各种drawXXX方法,以及画笔Paint如何影响绘制的效果。 具体参见博文: http://blog.csdn.net/iispring/article/details/49770651
android 中canvas的save和resotre用法 测试代码
android中canvas的save和restore用法 源码 测试代码
等实现的图片阴影,图片影子效果,定义公共的ImageEffect方法,在内部初始化画笔,为后面阴影效果使用,设置阴影层,比较关键。然后定义Canvas绘制对象,调用mutate方法,如果不调用mutate方法,则原图也会被改变,...
使用文档中介绍了Canvas和Paint的方法介。使用方便,适合开发者
Canvas 画几何图形,path 使用方法,通过canvas和path自定义画板
在Android UI开发专题的前五节我们讲到的东西主要是基础和理论内容,从本次Android123将通过实例代码来演示,本次主要是Bitmap和Canvas类的使用,根据要求缩放Bitmap对象并返回新的Bitmap对象。centerToFit方法一共...
最近学到自定义view,也是涉及到了canvas、paint、path的使用,此内容比较简单。 此三者一般会在自定义view的onDraw()中用到: canvas:决定view的布局(位置,画布颜色,形状) paint:决定view的属性(颜色,字体...
在Android自定义View的时候,我们经常需要绘制一些自己想要的效果。这里就需要使用Canvas对象。下面这篇文章将Canvas对象常用方法做个笔记,方便自己和大家以后使用的时候查阅,下面来一起看看吧。
项目应用功能提供一个类似Android Canvas类的使用OpenGL来实现实现的canvasGL。可以像传统自定义View那样直接继承GLViews,再使用这个canvas替换需要的东西。提供类似GPUImage里的Filter的API,可以在使用画布GL画...
主要介绍了Android编程之绘图canvas基本用法,结合实例形式分析了Android canvas绘图的相关方法与使用技巧,需要的朋友可以参考下
android Bitmap用法总结 Bitmap用法总结 1、Drawable → Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable....
下面小编就为大家分享一篇Android 使用Canvas在图片上绘制文字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Android 中View.onDraw(Canvas canvas)的使用方法 View通过View.onDraw(Canvas canvas)来Draw. 我们可以定义自己的继承于View的TestView,然后重载View.onDraw(Canvas canvas). 对于自定义的TestView如何与Activity...
Canvas提供了如下一些方法: Canvas(): 创建一个空的画布,可以使用setBitmap()方法来设置绘制具体的画布。 Canvas(Bitmap bitmap): 以bitmap对象创建一个画布,则将内容都绘制在bitmap上,因此bitmap不得为null。...
Canvas drawPoint方法使用
本文实例讲述了Android开发使用自定义View将圆角矩形绘制在Canvas上的方法。分享给大家供大家参考,具体如下: 前几天,公司一个项目中,头像图片需要添加圆角,这样UI效果会更好看,于是写了一个小的demo进行圆角的...