Android中canvas画图的简单应用

在最近的Android的实验中用到了绘制图形,于是简单的学习了一下利用canvas进行2D图形的简单绘制,一下是个人的总结,以便日后翻看。


其中,有三个重要的东西:

Bitmap、Canvas、Paint

以实际生活中的绘画过程进行类比的话,更容易理解:

1.Bitmap:相当于画布

   其创建有很多种,这里只说一种很简单的方式:

    Bitmap baseBitmap = Bitmap.createBitmap(x,  y, Config.ARGB_8888); 

    x,y参数分别制订了该画布的大小。

2.Canvas:相当于画家

    Canvas canvas = new Canvas(baseBitmap);

    画家手里需要有画布

3.paint:相当于画笔

    画笔可以设置粗细,颜色等属性

    Paint paint = new Paint(); 

    paint.setStrokeWidth(5);

    paint.setColor(Color.RED);  

4.最后是作画

   canvas.drawXXXX()进行绘制,其提供了各种形状,图片的绘制。

   下面是图片的简单绘制方法:

   InputStream is = getResources().openRawResource(R.drawable.map);   
   Bitmap mBitmap = BitmapFactory.decodeStream(is);   
   Paint mPaint = new Paint();   
   canvas.drawBitmap(mBitmap, 0, 0, mPaint);  



以下是实例代码:

//获取imageview

imView1 =(ImageView) findViewById(R.id.select_picture1);

//按照imageview的大小创建画布

Bitmap baseBitmap = Bitmap.createBitmap(imView1.getWidth(),  imView1.getHeight(), Config.ARGB_8888);  

//将背景图片绘制上去

Canvas canvas = new Canvas(baseBitmap);
canvas.drawColor(Color.WHITE);
 InputStream is = getResources().openRawResource(R.drawable.map);   

 Bitmap mBitmap = BitmapFactory.decodeStream(is);   
 Paint mPaint = new Paint();   
canvas.drawBitmap(mBitmap, 0, 0, mPaint);   

//将定位图标绘制上去
 Paint paint = new Paint();  
paint.setStrokeWidth(5); 
 paint.setColor(Color.RED);  
InputStream is1 = getResources().openRawResource(R.drawable.mylocation);   
 Bitmap mBitmap1 = BitmapFactory.decodeStream(is1);   
canvas.drawBitmap(mBitmap1, x, y, paint); 
// 把图片展示到ImageView中  
 imView1.setImageBitmap(baseBitmap); 


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值