Android简单画板的实现

与我们学java基础时接触到的画板相比,我觉得Android画板相对来说是要更复杂些的。创建一个Android画板,我们需要的基本接口有:
Bitmap (位图):相当于存储空间,承载了所有实际的像素。
Canvas (画布):在位图上画图
Paint (画笔):可用于设置颜色、粗细、透明度等。
Drawable :代表某种可绘制的资源
由于界面是以Activity显示的,那么如果我们要看到Bitmap中的图片,就要用到组件ImageView,把Activity和Bitmap联系起来,由此我们就建立了一个画板,具体代码如下:
Canvas canvas;//画布
Bitmap bitmap;//位图
Paint paint;//画笔
ImageView image;
float x1,x2,y1,y2;
// private String shape;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过id获得ImageView对象
image = (ImageView) findViewById(R.id.image);
//创建位图
bitmap = Bitmap.createBitmap(320, 480, Config.RGB_565);
//创建画布
canvas = new Canvas(bitmap);
//创建画笔
paint = new Paint();
paint.setColor(Color.RED);
//把Bitmap和Activity联系起来
image.setImageBitmap(bitmap);
//添加监听器
image.setOnTouchListener(onTouchListener);
}


在android中,画图时鼠标的事件机制(按下、松开等)是由int型变量Action决定的,所以用的时候只需判断变量的值就行,代码如下:
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int ACTION = event.getAction();
switch(ACTION){
case MotionEvent.ACTION_DOWN:
x1 = event.getX(); y1 = event.getY();
break;
case MotionEvent.ACTION_UP:
x2 = event.getX(); y2 = event.getY();
canvas.drawLine(x1, y1, x2, y2, paint);
image.invalidate();
break;
}
return true;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值