加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

GitHub标星6200:一种字体,变成千姿百态艺术字,设计师馋哭了

发布时间:2019-10-24 18:54:43 所属栏目:建站 来源:栗体
导读:本文经AI新媒体量子位(公家号ID:QbitAI)授权转载,转载请接洽出处。 这个字体叫Leon Sans,外貌看去平平无奇。 但究竟上,它并不是平凡的字体,体内储藏着魔力。 Leon Sans最出格的处地址于,字体是由代码组成的。有了这些代码,它可以随意变身。 好比,
副问题[/!--empirenews.page--]

本文经AI新媒体量子位(公家号ID:QbitAI)授权转载,转载请接洽出处。

这个字体叫Leon Sans,外貌看去平平无奇。

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

但究竟上,它并不是平凡的字体,体内储藏着魔力。

Leon Sans最出格的处地址于,字体是由代码组成的。有了这些代码,它可以随意变身。

好比,在暗夜里闪灼出七色的光影:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

好比,在春天里枝繁叶茂,花也开好了:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

好比,雨点打在地上汇成了河:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

外形 (Shapes) 、结果 (Effects) 、动画 (Animations) ,绝技丰厚任君选择。

邪术字体,是名叫Jongmin Kim的韩国小搭档,为了庆贺宝宝诞生而计划的。

不外,这不是独乐乐,是率土同庆:代码开源了,GitHub已经有6200星。

除此之外,有线上Demo可以玩耍。

都能怎么玩

最根基的操纵,就是改变粗细 (Weight) 。

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

不止给尺度字体调粗细,也给炫彩的艺术字调粗细:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

然后,加大一点难度,让字体瑟瑟抖动。就是把线条变得曲折。

稍稍不服整,就会稍微的发抖。强烈的弯折,就是触电了,烧糊了:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

拔电,再也不动了。

不外还好,可以随手把它埋在春天里 (误) :

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

虽然,埋法不止这一种。

也可以把字母截断,酿成粉赤色的“多米诺骨牌”,每张牌的宽窄还能自由选择:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

还可以让笔墨看上去,在安静中流淌:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

线上Demo的成果一共十几种,各人也可以本身试一下:

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

假如,Demo还不能满意你的想象,那就去食用代码吧:

字体是代码构成的

文本有代码暗示:text,字体巨细有代码暗示:size,粗细有代码:weight,字间距有代码暗示:tracking……

GitHub标星6200:一种字体,酿成千姿百态艺术字,计划师馋哭了

其它,每一种绝技都有各自的代码,也都有可以调理的参数。

好比,瑟瑟抖动叫做wave,发抖频率用fps来调。

只要用这一串代码,就可以把灵动的字体,在H5上表现了:

  1. 1let leon, canvas, ctx; 
  2.  2 
  3.  3const sw = 800; 
  4.  4const sh = 600; 
  5.  5const pixelRatio = 2; 
  6.  6 
  7.  7function init() { 
  8.  8 canvas = document.createElement('canvas'); 
  9.  9 document.body.appendChild(canvas); 
  10. 10 ctx = canvas.getContext("2d"); 
  11. 11 
  12. 12 canvas.width = sw * pixelRatio; 
  13. 13 canvas.height = sh * pixelRatio; 
  14. 14 canvas.style.width = sw + 'px'; 
  15. 15 canvas.style.height = sh + 'px'; 
  16. 16 ctx.scale(pixelRatio, pixelRatio); 
  17. 17 
  18. 18 leon = new LeonSans({ 
  19. 19 text: 'The quick brownnfox jumps overnthe lazy dog', 
  20. 20 color: ['#000000'], 
  21. 21 size: 80, 
  22. 22 weight: 200 
  23. 23 }); 
  24. 24 
  25. 25 requestAnimationFrame(animate); 
  26. 26} 
  27. 27 
  28. 28function animate(t) { 
  29. 29 requestAnimationFrame(animate); 
  30. 30 
  31. 31 ctx.clearRect(0, 0, sw, sh); 
  32. 32 
  33. 33 const x = (sw - leon.rect.w) / 2; 
  34. 34 const y = (sh - leon.rect.h) / 2; 
  35. 35 leon.position(x, y); 
  36. 36 
  37. 37 leon.draw(ctx); 
  38. 38} 
  39. 39 
  40. 40window.onload = () => { 
  41. 41 init(); 
  42. 42}; 

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读