HTML HTML5 Canvas橡皮擦

HTML5 Canvas是一个强大的图形处理工具,可以用来绘制各种图形,橡皮擦功能可以通过监听鼠标事件来实现,当用户在画布上点击时,将该像素的颜色设置为透明,从而实现橡皮擦的效果。

HTML HTML5 Canvas橡皮擦
(图片来源网络,侵删)

以下是一个简单的HTML5 Canvas橡皮擦实现:

1、创建一个HTML文件,添加一个<canvas>元素和一个<button>元素,用于切换橡皮擦和画笔功能。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>HTML5 Canvas 橡皮擦</title>
</head>
<body>
    <canvas id="myCanvas" width="500" height="500" style="border:1px solid #000;"></canvas>
    <button id="eraserBtn">橡皮擦</button>
    <script src="script.js"></script>
</body>
</html>

2、创建一个JavaScript文件(script.js),编写以下代码:

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
const eraserBtn = document.getElementById('eraserBtn');
let isErasing = false;
// 初始化画布背景颜色
ctx.fillStyle = '#FFFFFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// 监听鼠标按下事件
canvas.addEventListener('mousedown', (e) => {
    isErasing = true;
});
// 监听鼠标抬起事件
canvas.addEventListener('mouseup', () => {
    isErasing = false;
});
// 监听鼠标移动事件
canvas.addEventListener('mousemove', (e) => {
    if (isErasing) {
        const x = e.clientX canvas.offsetLeft;
        const y = e.clientY canvas.offsetTop;
        ctx.clearRect(x 1, y 1, 3, 3);
    } else {
        // 画笔功能
        ctx.beginPath();
        ctx.arc(e.clientX canvas.offsetLeft, e.clientY canvas.offsetTop, 5, 0, Math.PI * 2);
        ctx.fillStyle = '#000';
        ctx.fill();
    }
});
// 监听按钮点击事件,切换橡皮擦和画笔功能
eraserBtn.addEventListener('click', () => {
    isErasing = !isErasing;
    eraserBtn.innerText = isErasing ? '橡皮擦' : '画笔';
});

这个示例中,我们首先获取了<canvas>元素和<button>元素,然后设置了画布的背景颜色,接着,我们监听了鼠标的按下、抬起和移动事件,实现了橡皮擦和画笔功能,我们监听了按钮的点击事件,用于切换橡皮擦和画笔功能。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/477065.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-04-15 06:11
下一篇 2024-04-15 06:13

相关推荐

  • ICANN 域名审核的费用是多少?

    icann域名审核费用为每个新顶级域名收取5000美元的注册费用和18万美元的申请费用。

    2024-11-15
    00
  • 邮局邮电脑的费用是多少?

    邮局邮寄电脑的费用取决于多个因素,包括包裹的重量、体积、目的地以及是否选择保价服务等。根据搜索结果,以下是对邮局邮寄电脑费用的一般性回答:,,1. **重量和体积**:电脑及其包装的总重量是决定邮费的关键因素之一。电脑加上包装的重量可能在4公斤左右,但具体重量还需根据实际情况测量。如果电脑体积较大,也可能产生额外的体积费用。,,2. **目的地**:不同的目的地,邮费也会有所不同。国内邮寄可能相对便宜,而国际邮寄则费用较高。,,3. **保价服务**:如果担心电脑在邮寄过程中损坏或丢失,可以选择保价服务。保价费用通常按照保价金额的一定比例收取,如EMS的保价费一般为保价金额的3%左右。,,邮局邮寄电脑的费用因多种因素而异,无法给出具体的数字。建议在邮寄前咨询当地邮局或快递公司的工作人员,以获取最准确的费用信息。为了确保电脑的安全,请务必选择可靠的包装方式,并考虑购买保价服务。

    2024-11-15
    05
  • 防火墙技术常见的故障有哪些?

    防火墙技术常见故障背景介绍防火墙是网络安全中至关重要的组件,用于监控和控制进出网络流量,由于各种原因,防火墙可能会出现故障,影响其正常功能,本文将详细介绍几种常见的防火墙故障及其可能的原因和解决方法,常见故障及处理方法一、防火墙无法启动1. 可能原因:硬件故障:防火墙设备的硬件部件可能出现故障,如电源、主板等……

    2024-11-15
    01
  • 广州购买手表的价格范围是多少?

    广州购买手表的价格因品牌、型号和市场渠道不同而有所差异。在站西钟表城,顶级复刻表价格一般在200元到2000元之间。普通石英表可能只需几十块,而名贵机械腕表则需上百万。

    2024-11-15
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入