牛逼!这个老外竟然开发了一个汉字书写笔画库

在Android上实现汉字笔顺动画效果——HanZiWriter 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。可以让全球用户能够通过手绘模仿的方式来学习和练习书写汉字。实例需要传入目标 div(ID 或 DOM 引用)、要呈现的字符以及配置选项。下面是一个简单的示例。3.除了动画和测验的核心功能外,还有其他几种方法可用于控制角色的渲染。写一个html的引用地址,在定义几个和我们安卓交互的方法。在Android中使用,我使用的是加载WebView。包含其他配置选项的对象。序,万般皆是命,半点不由人。 阅读详情
AI摘要

HanziWriter是一个免费的开源库,提供精确的汉字笔画数据,支持手绘模仿学习,包括丰富的汉字笔画、SVG兼容、跨平台使用和轻量级设计。文章详细介绍了其特点、安装使用方法以及应用场景。

今天给大家介绍一个开源的汉字库,里面提供了大量精确的汉字笔画数据,可以通过手绘模仿的方式来学习和练习书写汉字——hanzi-writer

Hanzi Writer

Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字。可以让全球用户能够通过手绘模仿的方式来学习和练习书写汉字。

特点

  • 丰富性: 包含9000+个常用汉字的笔画数据,覆盖广泛。

  • 准确性: 笔画轨迹详细且精准,模拟真实书写体验。

  • 开放源代码: 全面免费,可自由使用和扩展,鼓励社区参与和贡献。

  • 易用性: 提供简洁的JSON格式数据,易于集成到各类开发环境中。

  • 跨平台兼容: 数据基于SVG标准,能在多种设备和浏览器上无缝运行。

  • 体积小:Hanzi Writer 库仅仅 30 kb (压缩后仅 9kb!), 所以添加它不会使网页体积增大。

  • 用处广泛:Hanzi Writer 使用 javascript, HTML5 and SVG, 所以它几乎能嵌入到任何平台应用, iOS 应用、安卓应用、桌面端应用和网页。

安装使用

可以使用script标签加载

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

也可以通过npm 加载 Hanzi Writer

npm install hanzi-writer
以vue3为例在项目中引入使用

html

<div 
  class="text-card"
  id="text-card"
></div>

js

  import HanziWriter from 'hanzi-writer';
  
   writer.value = HanziWriter.create("text-card", "外", {
    width: 100,
    height: 100,
    padding: 5,
    showOutline: true

在初始化实例时可以设置参数

writer.value = HanziWriter.create("text-card", "外", {
        width: 100,
        height: 100,
        padding: 5,
        showCharacter: false, //不显示汉字
        showOutline: true, //开启动画时,是否显示字
        // radicalColor: "#168F16", // 对偏旁部首着色
        strokeColor: "#000000", //全部着色 这里的颜色只能是16进制的,学英文不显示字
        strokeAnimationSpeed: 5, // 5x normal speed 整个动画的速度
        delayBetweenStrokes: 600, //每一笔之间动画的间隔时间,数字越大,间隔时间越长
        onLoadCharDataSuccess: function (data) {
          //加载汉字成功的回调
          console.log("Success!",data);
        },
        onLoadCharDataError: function (reason) {
          // 加载汉字失败的回调
          console.log("Oh No! Something went wrong :(");
        },
      })
偏旁部首上设置不同的颜色

Hanzi Writer 也支持给汉字的偏旁部首上设置不同的颜色

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

连续动画
writer.value?.animateCharacter({
  onComplete: function () {
    //动画结束的回调
    console.log("动画结束");
  },
});

分布绘画

调用animateStroke方法,传入笔画

const animateStroke = ()=>{
    writer.value?.animateStroke(step.value)
    step.value++
  }

手写测试

调用 quiz() 方法,用鼠标描写

var writer = HanziWriter.create('character-target-div', '测', {
  width: 150,
  height: 150,
  showCharacter: false,
  padding: 5
});
writer.quiz();

原生汉字 SVG

使用原始字符数据实现汉字,描边扇形可视化

function renderFanningStrokes(target, strokes) {
  var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
  svg.style.width = '75px';
  svg.style.height = '75px';
  svg.style.border = '1px solid #EEE'
  svg.style.marginRight = '3px'
  target.appendChild(svg);
  var group = document.createElementNS('http://www.w3.org/2000/svg', 'g');

  // set the transform property on the g element so the character renders at 75x75
  var transformData = HanziWriter.getScalingTransform(75, 75);
  group.setAttributeNS(null, 'transform', transformData.transform);
  svg.appendChild(group);

  strokes.forEach(function(strokePath) {
    var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
    path.setAttributeNS(null, 'd', strokePath);
    // style the character paths
    path.style.fill = '#555';
    group.appendChild(path);
  });
}

HanziWriter.loadCharacterData('是').then(function(charData) {
  var target = document.getElementById('target');
  for (var i = 0; i < charData.strokes.length; i++) {
    var strokesPortion = charData.strokes.slice(0, i + 1);
    renderFanningStrokes(target, strokesPortion);
  }
});

Hanzi Writer 是一个非常强大的汉字资源库,还有很多方法和使用案例,可以访问它的github仓库

https://github.com/chanind/hanzi-writer

最后

关注【前端实验室】公众号回复: bbbb223

免费领取前端全栈100+套经典电子书

分享3:hanzi-writer(演示汉字笔画顺序的 JS 库) 文章灵感来自https://chanind.github.io/hanzi-writer/ 通过这个,我很容易就想到小学的汉字书写了,说句实话,自从毕业后基本上就很少写字,而且经常提笔忘字(深深的自责中…),通过这个可以加强汉字的笔画练习,而且后期可以扩展为带拼音和读音的方便我们学习,以及指导自家小孩进行汉字练习等,balabalabal一大推,部分结果如下。 第一通过html,js进行调用ha... 阅读详情

相关推荐

识字小程序—hanzi-writer-miniprogram实现临摹笔画动画播放等

1.hanzi-writer-miniprogram的安装请看上一篇文章 小程序安装hanzi-writer-miniprogram: 2.效果图 代码 pages/hanziWrite/hanziWrite.wxml <view class="title">汉字识字小程序</view> <view class="js-char-form char-form"> <view class="char-form-item char-form-

Rux子兮的博客 5892

HanziWriter 小程序端开发注意事项

Hanzi Writer 是一个开源 javascript 库,主要用于绘制汉字笔画顺序动画。运行环境可以是Android、iOS、网页和小程序。小程序端使用Hanzi Writer小程序插件使用,使用npm安装。 npm install hanzi-writer-miniprogram 具体用法参见。 如果只是安装使用教程,就没有写的必要了,这里总结一下开发过程中遇到的问题。 1、笔画数据加载问题 Hanzi Writer 需要加载笔画渲染数据才能绘制字符,默认情况下,Hanzi Writer

jiangteng 3936

Hanzi Writer

1、官方文档:https://hanziwriter.org/cn/docs.html/ 2、获取汉子的数据的接口 https://cdn.jsdelivr.net/npm/hanzi-writer-data@2.0/牛.json 3、文档的api init() { const { canvasWidth, canvasShowCharacter, canvasShowHintAfterMisses, ca.

高山景行,一尘不染 3119

【亲测免费】 推荐开源项目:Hanzi Writer - 中文字符动态书写库

[Hanzi Writer](https://chanind.github.io/hanzi-writer) 是一个免费且开源的JavaScript库,专注于提供中文字符笔顺动画和笔顺练习测试功能。这个项目不仅支持简体字,也兼容繁体字,是学习汉字书写规则和提高书写技能的理想工具。它还提供了一个[实时演示](https://chanind.github.io/hanzi-writer/demo.ht...

gitblog_00015的博客 1556

嵌入式设备低功耗设计误区:为什么你的RK3568总是被‘意外’唤醒?

本文深入分析RK3568嵌入式设备低功耗设计中的常见误区,重点探讨唤醒源管理不当导致的意外唤醒问题。通过解析硬件设计陷阱、软件配置错误及系统化审计方法,帮助开发者有效排查和解决GPIO配置、唤醒源设置等关键因素引起的功耗异常,提升设备续航能力。

php55的博客 460

C语言 100道经典编程题适用于专升本,专接本【详细分析版】_c语言专升本题目

/法2//left指向起始 right指向数组末尾= 0){left++;//如果*left是奇数就循环接着向后指,直到指向偶数就退出//(left

2401_84978503的博客 695

汉字按笔画书写生成动画 Hanzi Writer svg 开源库

最近在做 田字格字帖生成器,要生成汉字的书写笔画,用到了 Hanzi Writer 这个库 Hanzi Writer。也可以通过ajax 或者php 读取文件直接访问 hanzi-writer-data 中的 svg数据。安装: npm install hanzi-writer 安装。是一个实际的使用实例,根据输入汉字,生成田字格,辅助学习汉字。hanzi-writer 这个库还是比较好用的,按照如下生成svg 就可以展示了。

u010061915的博客 3449

CANoe信号波形分析保姆级教程:Graphic窗口从配置到实战避坑

本文详细解析了CANoe的Graphic窗口在信号波形分析中的高效配置与实战应用技巧。从信号显示模式选择、测量光标进阶操作到信号分组策略,提供工程化解决方案,帮助工程师快速定位总线信号异常,提升汽车电子开发与测试效率。

weixin_29279047的博客 269

【亲测免费】 Hanzi Writer 安装和配置指南

### 项目介绍 Hanzi Writer 是一个免费且开源的 JavaScript 库,专门用于展示汉字笔画顺序动画和提供笔画顺序练习测验。它支持简体和繁体汉字,并且可以通过网页或移动应用进行使用。 ### 主要编程语言 Hanzi Writer 主要使用 JavaScript 编写,同时也使用了 TypeScript 进行开发。 ## 2. 项目使用的关键技术和框架 ### 关键技术 -...

gitblog_07444的博客 1264

Containerd容器运行时的私有仓库镜像推送push和镜像拉取问题解决

向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。通过crictl为k8s拉取镜像如下所示。可以通过ctr命令进行镜像推送。往私有仓库推送镜像如下。

Bulut0907 1万+

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会非常大,有36^8条记录,估计要3T的硬盘,跑一个晚上看看         这个方法比递归更高效,更直接。                                                ...

Wu_Being 的优快云 博客 1万+

hanziwriter插件在vue中的使用实例

这是一简单的动画

YingUser的博客 1362

ENVI5.6+SARscape实战:基于哨兵一号的PS与SBAS时序InSAR地表形变监测全流程解析

本文详细解析了使用ENVI5.6和SARscape软件基于哨兵一号数据进行PS与SBAS时序InSAR地表形变监测的全流程。从数据获取、预处理到PS-InSAR和SBAS-InSAR处理,提供了实用技巧和优化建议,帮助用户高效完成地表形变监测任务。

weixin_29245767的博客 1156

一个汉字笔画库 hanzi-writer 的小应用

最近在教小朋友写字,令人惆怅的是我竟然弄不准有些常见汉字的笔画。百度搜了下,这么多年自己写“毕”的笔画竟然是错的,提笔先写的是竖勾,而正确的第一步是一横,真有误导下一代的风险啊。 网上能找到有该功能的 APP ,但下载使用过程中看到广告超多,体验很不好。

本博客纯属个人网络笔记,如对阁下有用,甚喜;否则,关掉即可,不喜勿喷。专心写代码,不做键盘侠! 7596

面试官连夜整理:103道AI Agent面试题,答对一半直接加薪50%

维度AutoGPTLangGraphAutoGen控制流LLM 驱动的隐式循环代码层定义的显式状态图对话驱动的自动流转状态存储Prompt 上下文中(易丢失)结构化 State 对象(可持久化)对话历史(自动累积)分支能力依赖 LLM 的文本输出(不稳定)条件边 + 节点路由(确定性)多 Agent 对话自然分支(涌现式)回溯/回滚无原生支持,只能重新开始原生 Checkpoint 支持时间旅行无全局回滚,单 Agent 可重启人机协同仅人工在关键点介入(需要自定义)原生支持。

weixin_35774598的博客 622

IgH EtherCAT 从入门到精通:第 4 章 网络设备驱动选型与配置

摘要:本章详细介绍了EtherCAT主站网络设备驱动的选型与配置。IgH EtherCAT Master提供Generic通用驱动和Native原生驱动两种方案:Generic驱动通过Linux Socket接口实现,兼容性强但实时性较差;Native驱动通过修改网卡驱动绕过内核协议栈,具有更低延迟和更小抖动。文章具体分析了e1000/e1000e/igb/igc等Intel网卡驱动以及r8169/8139too等Realtek驱动的配置方法,并提供了驱动选型建议。对于实时性要求高的场景,推荐使用Nativ

从事嵌入式linux android驱动开发,拥有全栈能力 304

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

HanziWriter是一个免费开源的JavaScript库,专门用于汉字笔画顺序的动画展示和练习。它支持简繁体汉字,可通过CDN或npm安装,提供动画演示、偏旁部首着色等功能。该库可集成到网页中,通过简单配置即可实现汉字书写动画效果,适用于汉字学习类项目。文中还展示了具体的使用示例,包括创建实例、设置参数以及实现动画效果的方法,并介绍了如何在"汉字学习"项目中实际应用该库。

skywalk8163的专栏 1094

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

强烈推荐:汉字作家(Hanzi Writer)—— 开启汉字书写新纪元

强烈推荐:汉字作家(Hanzi Writer)—— 开启汉字书写新纪元 项目地址:https://gitcode.com/gh_mirrors/ha/hanzi-writer 在数字化时代,我们或许已经忘记了握笔书写的温度。然而,在追求效率的同时,学习和传承中华文化的传统艺术——汉字书写,仍然有着不可替代的魅力。今天,我要向大家介绍一款革命性的工具——汉字作家(Hanzi Writer)。 项目介...

gitblog_00804的博客 801

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

识字小程序—小程序安装hanzi-writer-miniprogram

安装hanzi-writer-miniprogram cmd打开终端找到小程序根目录,用npm安装hanzi-writer-miniprogram 1.终端执行命令(如果之前操作过这一步可以省略) npm init 2.跟上一步一样安装hanzi-writer-miniprogram npm install hanzi-writer-miniprogram 3.构建npm包 打开微信开发者工具,点击工具->构建 npm,并在详情处勾选使用 npm 模块选项,若还不能成功则可能需要勾选不校验合法域

Rux子兮的博客 3823

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Hanzi Writer 开源项目教程

Hanzi Writer 开源项目教程 hanzi-writerChinese character stroke order animations and practice quizzes项目地址:https://gitcode.com/gh_mirrors/ha/hanzi-writer 项目介绍 Hanzi Writer 是一个免费且开源的 JavaScript 库,专门用于展示汉字笔顺动画...

gitblog_00162的博客 1351

【亲测免费】 深入探索Hanzi Writer Data:带你走进汉字书写的学习新境界

深入探索Hanzi Writer Data:带你走进汉字书写的学习新境界 项目简介 是一个开源的项目,提供了大量精确的汉字笔画数据,用于构建交互式汉字书写应用或进行机器学习研究。该项目源自Hanzi Writer,一个以JavaScript编写的在线汉字练习工具,让全球用户能够通过手绘模仿的方式来学习和练习书写汉字。 技术分析 Hanzi Writer Data的核心是它的SVG路径数据,这些数据...

gitblog_00027的博客 1065

uniapp在安卓端实现hanziWriter

uniapp实现Hanzi Writer笔画

weixin_42803439的博客 2743

Hanzi Writer 汉字书写动画库完整使用教程

Hanzi Writer 作为一款开源的 JavaScript 汉字笔画动画库,为汉字学习者和开发者提供了革命性的交互体验。通过精确的笔画顺序动画和智能测验功能,彻底改变了传统汉字教学方式。 ## 核心技术架构揭秘 ### 渲染引擎双重选择 项目采用双渲染引擎架构,同时支持 SVG 和 Canvas 两种渲染方式: **SVG 渲染器优势** - 矢量图形无限缩放不失真 - 支持复杂动画和交

gitblog_00261的博客 1097

Hanzi Writer测试功能完全指南:打造高效汉字练习系统

Hanzi Writer是一个开源的JavaScript库,专门用于汉字笔画顺序动画和笔画顺序练习测试。无论你是学习简体中文还是繁体中文,这个工具都能帮助你快速掌握汉字书写技巧。🚀 ## 什么是Hanzi Writer汉字练习系统 Hanzi Writer提供了一套完整的汉字学习解决方案,通过动画展示每个汉字的正确笔画顺序,并支持互动式练习功能。这个库完全免费且开源,可以轻松集成到任何web

gitblog_01100的博客 928

Hanzi Writer 终极使用指南:快速掌握汉字动画技术

Hanzi Writer 是一个免费开源的 JavaScript 库,专门用于汉字笔画顺序动画和笔画顺序练习测验。无论你是汉语学习者、教育工作者还是开发者,这个强大的工具都能帮助你轻松实现汉字的动态展示和交互式学习。😊 ## 🎯 什么是 Hanzi Writer? Hanzi Writer 能够将汉字分解为单个笔画,并按照正确的书写顺序进行动画展示。它支持简体字和繁体字,提供了丰富的配置选

gitblog_00359的博客 1013

终极指南:Hanzi Writer 汉字书写动画库完整入门教程

Hanzi Writer 是一个功能强大的开源 JavaScript 库,专门用于显示汉字笔顺动画和创建汉字书写练习测验。该库支持简体和繁体汉字,为中文学习者提供了直观的汉字书写学习体验。 ## 🚀 五分钟快速启动:零基础搭建汉字动画 ### 环境准备与项目克隆 首先,您需要将项目克隆到本地: ```bash git clone https://gitcode.com/gh_mirror

gitblog_00821的博客 977
上一篇: ChatGPT 最火的五个使用场景
下一篇: 【无标题】
前端实验室
博客等级 码龄5年 46粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值