不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Javascript汉字笔画笔顺绘制库Hanzi Writer使用示例
编辑:dnawo 日期:2020-03-30
先在页面引入Hanzi Writer脚本:
1、静态输出汉字
加载本地汉字数据(下同):

2、动态书写汉字

3、书写汉字笔画笔顺

相关资源
[1].hanziwriter.org:https://hanziwriter.org/
[2].hanzi-writer:https://github.com/chanind/hanzi-writer
[3].hanzi-writer-data:https://github.com/chanind/hanzi-writer-data
[4].makemeahanzi:https://github.com/skishore/makemeahanzi
复制内容到剪贴板
程序代码

<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hanzi-writer@2.2/dist/hanzi-writer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hanzi-writer@2.2/dist/hanzi-writer.min.js"></script>
1、静态输出汉字
复制内容到剪贴板
程序代码

<div id="character-target-div"></div>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '木', {
width: 200,
height: 200,
padding: 5,
strokeColor: '#555'
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '木', {
width: 200,
height: 200,
padding: 5,
strokeColor: '#555'
});
});
</script>
加载本地汉字数据(下同):
复制内容到剪贴板
程序代码

<div id="character-target-div"></div>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '木', {
width: 200,
height: 200,
padding: 5,
strokeColor: '#555',
charDataLoader: function(char, onComplete) {
$.getJSON("/hanzi-writer-data-2.0.1/data/" + char + ".json", function(charData) {
onComplete(charData);
});
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '木', {
width: 200,
height: 200,
padding: 5,
strokeColor: '#555',
charDataLoader: function(char, onComplete) {
$.getJSON("/hanzi-writer-data-2.0.1/data/" + char + ".json", function(charData) {
onComplete(charData);
});
}
});
});
</script>

2、动态书写汉字
复制内容到剪贴板
程序代码

<div id="character-target-div"></div>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '子', {
width: 200,
height: 200,
padding: 5,
showCharacter: false
});
writer.animateCharacter();
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var writer = HanziWriter.create('character-target-div', '子', {
width: 200,
height: 200,
padding: 5,
showCharacter: false
});
writer.animateCharacter();
});
</script>

3、书写汉字笔画笔顺
复制内容到剪贴板
程序代码

<div id="character-target-div"></div>
<script type="text/javascript">
$(document).ready(function(){
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');
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);
path.style.fill = '#555';
group.appendChild(path);
});
}
HanziWriter.loadCharacterData('屋').then(function(charData) {
var target = document.getElementById('character-target-div');
for (var i = 0; i < charData.strokes.length; i++) {
var strokesPortion = charData.strokes.slice(0, i + 1);
renderFanningStrokes(target, strokesPortion);
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
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');
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);
path.style.fill = '#555';
group.appendChild(path);
});
}
HanziWriter.loadCharacterData('屋').then(function(charData) {
var target = document.getElementById('character-target-div');
for (var i = 0; i < charData.strokes.length; i++) {
var strokesPortion = charData.strokes.slice(0, i + 1);
renderFanningStrokes(target, strokesPortion);
}
});
});
</script>

相关资源
[1].hanziwriter.org:https://hanziwriter.org/
[2].hanzi-writer:https://github.com/chanind/hanzi-writer
[3].hanzi-writer-data:https://github.com/chanind/hanzi-writer-data
[4].makemeahanzi:https://github.com/skishore/makemeahanzi






评论: 0 | 引用: 0 | 查看次数: 6826
发表评论
请登录后再发表评论!