Android Canvas 两种使用方式
2014-06-30 14:47
232 查看
From:http://blog.csdn.net/androiddevelop/article/details/8267312
![](http://img.my.csdn.net/uploads/201212/06/1354805702_4237.png)
[java]
view plaincopyprint?
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
public class CustomView extends View {
private Paint mPaint;
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint();
mPaint.setColor(Color.GREEN);
mPaint.setTextSize(36);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint.setStyle(Style.FILL); //设置填充
canvas.drawRect(10, 10, 200, 200, mPaint); //绘制矩形
mPaint.setColor(Color.BLUE);
canvas.drawText("我不是自定义View", 10, 120, mPaint);
}
参考资料:
android图形系统详解一:Canvas
android Canvas类介绍
Android Graphic : apk and Skia/OpenGL|ES
1. 在已有的Canvas上绘制图形或文字,通过VIew.onDraw回调获取Canvas对象。Canvas第一种使用方式
2. 图形或文字直接绘制到View上(本文使用此种方式)
[java]
view plaincopyprint?
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bitmap b =Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas canvas =new Canvas(b); Paint paint = new Paint(); paint.setColor(Color.BLUE); canvas.drawText("love_world_", 20, 20, paint); ImageView imageView = (ImageView) findViewById(R.id.image_view); BitmapDrawable bitmapDrawable = new BitmapDrawable(b); imageView.setBackgroundDrawable(bitmapDrawable); } }
效果图
![](http://img.my.csdn.net/uploads/201212/10/1355151793_6273.png)
Android入门第十四篇之画图
http://blog.csdn.net/hellogv/article/category/761980
Andriod中绘(画)图----Canvas的使用详解
/article/1390946.html
Android图像处理之Bitmap类
http://blog.csdn.net/thl789/article/details/6762030
Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
/article/2742974.html
画了个Android——Canvas类的使用
http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html
Android Canvas rotate
http://verydemo.com/demo_c131_i3507.html
Android入门第十四篇之画图
http://blog.csdn.net/hellogv/article/category/761980
Andriod中绘(画)图----Canvas的使用详解
/article/1390946.html
Android图像处理之Bitmap类
http://blog.csdn.net/thl789/article/details/6762030
Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
/article/2742974.html
画了个Android——Canvas类的使用
http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html
Android Canvas rotate
http://verydemo.com/demo_c131_i3507.html
一、Canvas第一种使用方式
最简单的使用Canvas, 画一个方形,一行字。 下面是效果图![](http://img.my.csdn.net/uploads/201212/06/1354805702_4237.png)
[java]
view plaincopyprint?
![](https://code.csdn.net/assets/CODE_ico.png)
public class CustomView extends View {
private Paint mPaint;
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint();
mPaint.setColor(Color.GREEN);
mPaint.setTextSize(36);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint.setStyle(Style.FILL); //设置填充
canvas.drawRect(10, 10, 200, 200, mPaint); //绘制矩形
mPaint.setColor(Color.BLUE);
canvas.drawText("我不是自定义View", 10, 120, mPaint);
}
public class CustomView extends View { private Paint mPaint; public CustomView(Context context) { super(context); } public CustomView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(); mPaint.setColor(Color.GREEN); mPaint.setTextSize(36); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint.setStyle(Style.FILL); //设置填充 canvas.drawRect(10, 10, 200, 200, mPaint); //绘制矩形 mPaint.setColor(Color.BLUE); canvas.drawText("我不是自定义View", 10, 120, mPaint); }
参考资料:
android图形系统详解一:Canvas
android Canvas类介绍
Android Graphic : apk and Skia/OpenGL|ES
二、Canvas第二种使用方式
Canvas的使用通常只有两种形式:1. 在已有的Canvas上绘制图形或文字,通过VIew.onDraw回调获取Canvas对象。Canvas第一种使用方式
2. 图形或文字直接绘制到View上(本文使用此种方式)
[java]
view plaincopyprint?
![](https://code.csdn.net/assets/CODE_ico.png)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bitmap b =Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas canvas =new Canvas(b); Paint paint = new Paint(); paint.setColor(Color.BLUE); canvas.drawText("love_world_", 20, 20, paint); ImageView imageView = (ImageView) findViewById(R.id.image_view); BitmapDrawable bitmapDrawable = new BitmapDrawable(b); imageView.setBackgroundDrawable(bitmapDrawable); } }
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bitmap b =Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas canvas =new Canvas(b); Paint paint = new Paint(); paint.setColor(Color.BLUE); canvas.drawText("love_world_", 20, 20, paint); ImageView imageView = (ImageView) findViewById(R.id.image_view); BitmapDrawable bitmapDrawable = new BitmapDrawable(b); imageView.setBackgroundDrawable(bitmapDrawable); } }
效果图
![](http://img.my.csdn.net/uploads/201212/10/1355151793_6273.png)
Android入门第十四篇之画图
http://blog.csdn.net/hellogv/article/category/761980
Andriod中绘(画)图----Canvas的使用详解
/article/1390946.html
Android图像处理之Bitmap类
http://blog.csdn.net/thl789/article/details/6762030
Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
/article/2742974.html
画了个Android——Canvas类的使用
http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html
Android Canvas rotate
http://verydemo.com/demo_c131_i3507.html
Android入门第十四篇之画图
http://blog.csdn.net/hellogv/article/category/761980
Andriod中绘(画)图----Canvas的使用详解
/article/1390946.html
Android图像处理之Bitmap类
http://blog.csdn.net/thl789/article/details/6762030
Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
/article/2742974.html
画了个Android——Canvas类的使用
http://blog.sina.com.cn/s/blog_61ef49250100qw9x.html
Android Canvas rotate
http://verydemo.com/demo_c131_i3507.html
相关文章推荐
- Android Canvas 两种使用方式
- 两种方式使用android时间和日期控件
- 两种方式使用android时间和日期控件
- android之fragment的两种使用方式(add和replace方式切换)
- Android笔记:Android 使用Intent拨打电话的两种方式以及差别
- android之fragment的两种使用方式(add和replace方式切换)
- Android Training - 高效地显示Bitmap(两种缓存Bitmap的方式)与优化Bitmap的内存使用
- android Canvas的两种使用情形
- 使用两种方式,Android 发送文件到指定邮箱(带多个附件)
- android 四大组件之Service两种调用方式使用详解
- Android动画的两种使用方式。
- Android组件之Service学习(1)两种使用方式与生命周期
- android画布canvas刷屏的两种方式
- Android 使用adapter的两种回调数据方式
- 两种方式使用android时间和日期控件
- android使用两种方式注册receiver
- Android画图之抗锯齿 paint 和 Canvas 两种方式
- Android广播的两种注册使用方式。
- android之fragment的两种使用方式(add和replace方式切换)
- android之fragment的两种使用方式(add和replace方式切换)