Canvas画布,所有画出来的图形都在Canvas上,Paint是画笔,用来渲染画布上画出来的图形,而Bitmap是一个图片的容器,用来存放图片的。
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setColor(Color.BLUE);
canvas.drawText("自定义View,canvas对象已经存在。", 30, 40, paint);
canvas.drawRect(10, 10, 30, 30, paint);
如上,设置好了Paint的样式后,在canvas上画文本或者矩形都可以。
如果要画一张图片出来,就要像下面这样了。
Bitmap iconbit = BitmapFactory.decodeResource(getResources(), R.drawable.icon) ;
canvas.drawBitmap(iconbit, 40,40, paint);
下面是把一个bitmap变成drawable
Bitmap bitmap = Bitmap.createBitmap(200, 100, Config.ARGB_8888) ;
ImageView imgView = new ImageView(this) ;
//将Bitmap对象转换为Drawable图像资
Drawable drawable = new BitmapDrawable(bitmap) ;
imgView .setBackgroundDrawable(drawable) ;
下面这段代码,在bitmap上既画了iconbit又画了一个矩形。
Paint paint = new Paint();
Bitmap iconbit = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher) ;
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setColor(Color.RED);
Bitmap bitmap = Bitmap.createBitmap(200, 300, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawBitmap(iconbit, 0,0, paint);
Rect rect = new Rect (10,80,180,120) ;
//当前的画图区域为Rect裁剪的区域,而不是我们之前赋值的bitmap
canvas.clipRect(rect) ;
canvas.drawColor(Color.YELLOW);
paint.setColor(Color.BLACK);
canvas.drawText("裁剪clip后画图区域-黄色部分", 10,100,paint) ;
change.setImageBitmap(bitmap);
下面是使用save和restore方法的示例:
Paint paint = new Paint();
//将icon图像转换为Bitmap对象
Bitmap iconbit = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search) ;
//创建一个的Bitmap对象
Bitmap bitmap = Bitmap.createBitmap(400, 400, Config.ARGB_8888) ;
Canvas canvas = new Canvas (bitmap) ;
paint.setColor(Color.GREEN);
paint.setTextSize(30); //设置字体大小
canvas.drawText("我没有旋转",30, 40, paint);
canvas.save() ;
canvas.rotate(30) ;
paint.setTextSize(13);
paint.setColor(Color.BLACK);
canvas.drawText("我是旋转的",115,20, paint);
canvas.restore();
paint.setColor(Color.BLUE);
canvas.drawText("我没有旋转",115,20, paint);
//将Bitmap对象转换为Drawable图像资
//为ImageView设置图像
change.setImageBitmap(bitmap);
// Drawable drawable = new BitmapDrawable(bitmap) ;
// change.setBackgroundDrawable(drawable) ;
分享到:
相关推荐
主要介绍了 Android canvas drawBitmap方法详解及实例的相关资料,需要的朋友可以参考下
android 画图 bitmap drawable canvas paint
Android开发者学习笔记——View、Canvas、bitmap
android里面 canvas 转换成bitmap
使用Canvas进行鼠标画图和线程画线,创建一个Canvas,用鼠标在画布上乱画,可以设置画笔大小和颜色,开启线程会自动从屏幕顶部开始一行一行画线,直到画满整个屏幕
Android开发者学习笔记-View、Canvas、bitmap.pdf
Android开发者学习笔记——View、Canvas、bitmap.doc
html5 canvas 模拟Windows 画图程序,初看上去,你会不会觉得这就是windows 的画图程序呢?界面和功能布局几乎是一样的,而且用起来也和Windows画图没啥区别,真心模拟的很像。运用Canvas技术来实现的画图程序。
js结合canvas制作的画图板实例.zip
android中canvas、paint绘图,主要用于学习canvas、paint绘图
html5 canvas 画图练习
canvas 画图板的实现
很多网友刚刚开始学习Android平台,对于Drawable、Bitmap、Canvas和Paint它们之间的概念不是很清楚,其实它们除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap、Canvas相关的都有所变化。...
html5 Canvas 画图板,学习使用html5 Canvas ,让你画画更轻松
基于QML的canvas,实现画板功能,利用鼠标进行涂鸦随笔画
canvas定义画图板、H5新属性的使用
canvas,canvas UI,canvas画图功能
Android下使用Canvas画图,详细参见博客:http://www.cnblogs.com/plokmju/p/android_Canvas.html