news 2026/8/8 7:43:55

Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字

官网:Hanzi Writer

文档:Hanzi Writer

Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字。我基于这个库制作了汉字学习项目:汉字学习:汉字学习 主要针对小学语文的汉字学习,可以学习汉字的书写笔画,拼音等。 - AtomGit | GitCode

安装

在 script 标签加载 Hanzi Writer

最简单选项是直接从 jsdelivr CDN 加载 Hanzi Writer JS 。只需将以下内容放入你的网页的头部:

<script src="https://cdn.jsdelivr.net/npm/hanzi-writer@3.0/dist/hanzi-writer.min.js"></script>

也可以拷贝一个下载 Hanzi Writer javascript 文件:
hanzi-writer.min.js- 生产压缩版 (32 kb, 9kb 压缩后的)
hanzi-writer.js- 开发未压缩版本 (72 kb)

上面的脚本将在脚本加载后使全局HanziWriter变量可用。

比如我在汉字学习这个软件里面,index.html文件中这样用的:

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>小学生汉字学习练习软件</title> <link rel="stylesheet" href="style.css"> <script src="https://cdn.jsdelivr.net/npm/hanzi-writer@3.5/dist/hanzi-writer.min.js"></script> </head> <body>

通过 npm 加载 Hanzi Writer

如果你想在 webpack 或 node.js 中包含 Hanzi Writer,你可以从npm install hanzi-writer安装。

npm install hanzi-writer

然后,可以在你的代码中包含 Hanzi Writer

const HanziWriter = require('hanzi-writer');

基本使用

在屏幕上渲染

创建一个新的HanziWriter实例需要传入一个目标 div (ID 或者 DOM 引用),你要渲染的汉字, 配置选项. 下面举例说明一个简单的例子。在 HTML 中声明以下内容:

<div id="character-target-div"></div>

然后, 在 Javascript:

var writer = HanziWriter.create('character-target-div', '我', { width: 100, height: 100, padding: 5 });

你能看到以下结果:

在上面的示例中,width和height是包含字符的框的大小(以像素为单位),padding是字符和框边缘之间的空格,也以像素为单位 你也可以配置其他选项,例如角色的颜色。下面是使用不同尺寸和颜色绘制的示例:

var writer = HanziWriter.create('character-target-div', '爽', { width: 150, height: 150, padding: 20, strokeColor: '#EE00FF' // pink });

Hanzi Writer 也支持给汉字的偏旁部首上设置不同的颜色。 你可以用radicalColor选项来设置来展示的部手颜色. 下面的以 草 字为例给偏旁部首添加绿色。

var writer = HanziWriter.create('character-target-div', '草', { width: 150, height: 150, padding: 5, radicalColor: '#168F16' // green });

动画

当你创建了一个 Hanzi Writer 实例后,你可以调用animateCharacter()方法来让它运动. 在下面的例子中, 点击按钮可以让汉字运动。这个 HTML 代码看起来是下面这个样子:

<div id="character-target-div"></div> <button id="animate-button">动画</button>

Then, the corresponding javascript:

var writer = HanziWriter.create('character-target-div', '国', { width: 100, height: 100, padding: 5, showOutline: true }); document.getElementById('animate-button').addEventListener('click', function() { writer.animateCharacter(); });

实践

在汉字学习这个项目中,是这样使用的,script.js文件代码:

createWriter(containerId, character, isPractice = false) { const container = document.getElementById(containerId); container.innerHTML = ''; // 清除之前的内容 const writerConfig = { width: isPractice ? 200 : 150, height: isPractice ? 200 : 150, padding: isPractice ? 20 : 10, showOutline: true, strokeColor: '#333333', radicalColor: '#168F16' }; try { const writer = HanziWriter.create(container, character, writerConfig); if (isPractice) { this.practiceWriter = writer; } else { this.writer = writer; } return writer; } catch (error) { console.warn(`无法创建${character}的动画实例: ${error.message}`); // 创建一个简单的占位符 container.innerHTML = `<div class="placeholder-writer">${character}</div>`; container.style.display = 'flex'; container.style.justifyContent = 'center'; container.style.alignItems = 'center'; container.style.fontSize = isPractice ? '120px' : '100px'; container.style.color = '#333333'; return null; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 17:56:26

Linly-Talker能否识别方言输入?ASR模块能力测试

Linly-Talker 能否识别方言输入&#xff1f;ASR 模块能力深度解析 在智能语音助手逐渐走入家庭、政务、教育等场景的今天&#xff0c;一个现实问题日益凸显&#xff1a;当用户操着一口浓重口音说出“今儿个咋这么热哦”&#xff0c;系统还能不能听懂&#xff1f;尤其是在中国这…

作者头像 李华
网站建设 2026/8/7 17:55:31

Linly-Talker在短视频平台的内容生产提效实证

Linly-Talker在短视频平台的内容生产提效实证在抖音、快手、视频号日更成常态的今天&#xff0c;内容创作者正面临一个残酷现实&#xff1a;观众期待越来越高&#xff0c;更新频率越来越快&#xff0c;但人力和时间成本却难以线性增长。一条高质量讲解视频&#xff0c;从脚本撰…

作者头像 李华
网站建设 2026/8/7 18:03:19

+高校线上心理咨询室设计与实现pf信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着社会快速发展&#xff0c;大学生心理健康问题日益突出&#xff0c;传统心理咨询方式受限于时间和空间&#xff0c;难以满足学生需求。高校线上心理咨询室作为一种新型服务模式&#xff0c;能够突破地域限制&#xff0c;为学生提供便捷、高效的心理支持。该系统通过互联…

作者头像 李华
网站建设 2026/8/7 12:11:40

SpringBoot+Vue +疫情物资捐赠和分配系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 新冠疫情暴发以来&#xff0c;物资短缺和分配不均成为全球范围内的严峻挑战。特别是在突发公共卫生事件中&#xff0c;高效的物资捐赠和分配系统对于保障医疗资源和生活必需品的及时供应至关重要。传统的物资管理方式依赖人工操作&#xff0c;存在效率低、透明度不足、信息…

作者头像 李华
网站建设 2026/8/7 4:15:38

企业级+高校线上心理咨询室设计与实现pf管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着社会压力的增加和心理问题的普遍化&#xff0c;心理咨询服务的需求日益增长&#xff0c;尤其是在高校和企业环境中。传统的线下心理咨询模式受限于时间和空间&#xff0c;难以满足大规模、高效率的服务需求。线上心理咨询室作为一种创新的解决方案&#xff0c;能够突破…

作者头像 李华
网站建设 2026/8/7 23:58:01

免费在线网盘解析:夸克文件高速下载

今天教大家一招能解决夸克网盘限制的在线工具。这个工具也是完全免费使用的。下面让大家看看我用这个工具的下载速度咋样。地址获取&#xff1a;放在这里了&#xff0c;可以直接获取 这个速度还是不错的把。对于平常不怎么下载的用户还是很友好的。下面开始今天的教学 输入我给…

作者头像 李华