android平台画直线与pc平台画直线

在android平台上画直线跟在PC平台上画直线有很大的不同
一.在PC平台上画直线
1.获取画布对象
g=panel.getGraphics();
2.直接调用画布的画直线方法就行了
g.drawLine(x1,y1,x2,y2);

如果要实现重绘的话就直接把画的方法写在重绘方法里面就行了
public void paint(Graphics g){
super.paint(g);
g.drawLine(x1,y1,x2,y2);
}


二.在android平台上画直线需要四个组件:canvas(画布)bitmap(位图)paint(画笔)a drawing primitive
1.首先定义各组件
Bitmap map=new Bitmap();
Paint p=new Paint();
Canvas c=new Canvas(map);
2.调用画布的画直线方法
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
c.drawLine(x1,y1,x2,y2,p);
}

实现重绘

在activitity类中获得ListenerView中的image对象
ListenerView image = (ListenerView)findViewById(R.id.image);
在activity类中创建一个画布
Bitmap map = Bitmap.createBitmap(500, 500 , Config.ARGB_8888);
将创建的画布传到ListenerView类中去
image.setBitmap(map);
在ListenerView中接受传过来的位图
public void setBitmap(Bitmap map){
this.map=map;
}
将重绘方法写在ListenerView中的画图方法
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
c.drawLine(x1, y1, x2, y2, paint);
if(map!=null){//如果位图上面有直线的话,每次画直线的时候都会重绘一次
//绘制已经画有直线bitmap
canvas.drawBitmap(map, 0, 0, null);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值