36行代码实现网页手写板特效(可写字)

<canvas id="canvas" width="666" height="444" style="border:1px solid #ccc;"></canvas>
<script type="text/javascript">
// 获取画布和上下文
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
// 设置画笔颜色和粗细
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
// 定义变量
var isDrawing = false; // 是否在绘制中
var lastX = 0; // 上一个点的x坐标
var lastY = 0; // 上一个点的y坐标
// 添加鼠标事件监听器
canvas.addEventListener("mousedown", startDrawing);
canvas.addEventListener("mousemove", draw);
canvas.addEventListener("mouseup", stopDrawing);
canvas.addEventListener("mouseout", stopDrawing);
// 开始绘制
function startDrawing(e) {
  isDrawing = true;
  [lastX, lastY] = [e.offsetX, e.offsetY];
}
// 绘制过程
function draw(e) {
  if (!isDrawing) return;
  ctx.beginPath();
  ctx.moveTo(lastX, lastY);
  ctx.lineTo(e.offsetX, e.offsetY);
  ctx.stroke();
  [lastX, lastY] = [e.offsetX, e.offsetY];
}
// 停止绘制
function stopDrawing() {
  isDrawing = false;
}
</script>

这段代码通过Canvas API实现了一个简单的手写板特效,用户可以在画布上使用鼠标绘制出自己想要的图形。具体来说,该代码主要实现了以下功能:

在页面中创建一个大小为500x500像素的Canvas元素。

获取该Canvas元素的2D上下文,并设置画笔颜色和粗细。

监听鼠标事件,并根据事件的类型执行不同的操作。

在鼠标按下时开始绘制,记录下当前点的坐标。

在鼠标移动时,根据当前点和上一个点的坐标绘制一条直线,并更新上一个点的坐标。

在鼠标抬起或离开画布时停止绘制。

这段代码是一个非常简单的手写板实现,如果您需要更加完整的手写板功能,还需要考虑更多的交互细节,例如撤销、清空、保存等功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YUJIANYUE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值