【Android】制作一个简易的画板

本文详细介绍了如何利用Canvas、Paint和Path原生API在Android中创建一个简易的画板。通过初始化Paint设置画笔样式,利用Path连接触摸点绘制线条,结合Canvas在画布上展现。此外,还提及了实现画笔粗细、颜色变化以及像素擦除功能的扩展方法。
摘要由CSDN通过智能技术生成

前言

本文介绍使用Canvas、Paint、Path等原生API,实现一个简易的画板。

绘图原理

Paint

Paint可以理解为我们现实中的画笔,在使用前我们需要对Paint进行初始化,比如颜色、画笔粗细、透明度等。为了让曲线更加的圆滑,我们也可以让Paint划出的内容做一些圆角处理等。下面是一个可以参考的Paint的初始化代码:

// 使用抗锯齿模式初始化画笔
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
// 设定当前画笔的绘制模式,STROKE为画线条
paint.setStyle(Paint.Style.STROKE);
// 为画笔设置颜色
paint.setColor(Color.BLACK);
// 设置画笔的透明度,范围:0~255
paint.setAlpha(0xFF);
// 设置画笔的线条宽度,也就是笔迹的粗细
paint.setStrokeWidth(10);
// 设置线条的头尾为圆角模式,这个是为了让线条看上去更圆滑
paint.setStrokeCap(Paint.Cap.ROUND);

Path

Path是android.graphics下的类,通俗来讲就是一个路径,通过点点之间的连线,就可以绘制出来的一条完整的线条。我们在触摸屏幕的时候,屏幕按照一定的频率采样,采样到的都是我们在采样时刻触摸在屏幕上的点,我们可以利用path,通过所有触摸的点,构成path,然后通过canvas绘制出来。

本次绘制使用到Path的方法如下:
moveTo(float x, float y) - 设定path的起始点
quadTo(float controlX, float controlY, float x, float y) - 将两点之间进行连线,从上一次的点添二阶贝塞尔曲线,接近控制点(controlX, controlY),结束于(x, y)。

Canvas

Canvas这个可以理解为一个画布,我们可以在上面画点、线、图形等。利用我们的笔(Paint),按照一定的方法(Path),来进行绘制。
绘制的方法如为:canvas.drawPath(path, paint),通过此方法,就可以将我们上面的Path利用我们自定义的Paint绘制出来。

简单的实现

我们自定义一个View,暂且称之为DrawView,继承自View,添加构造方法,重写onDr

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值