leaferjs元素的基本使用

序言

别因今天的懒惰,让明天的您后悔。输出文章的本意并不是为了得到赞美,而是为了让自己能够学会总结思考;当然,如果有幸能够给到你一点点灵感或者思考,那么我这篇文章的意义将无限放大。

背景

前篇文章我们介绍了leaferjs,那么这篇文章我们就来介绍一下leaferjs大致的元素和用法;这篇文章大致介绍一下以下几个元素的使用:

  • 矩形 - Rect
  • 圆形 - Ellipse
  • 横线 - Line
  • 三角形 - Polygon
  • 五角星 - Star
  • 文本 - Text

今天的我们就来先学习哈,这些最基础的功能,我也会发布到仓库里面大家参考学习仓库地址

Rect

rect可以创建一个矩形,也可以根据自己的需要设置宽高以及颜色(fill)和是否拖动(editable)

示例1:

javascript 复制代码
const rect = new Rect({
  width: 100,
  height: 100,
  fill: 'rgb(50,205,121)',
  editable: true,
});

如果我们想给矩形设置圆角也可以通过属性cornerRadius进行设置;当然我们也可以设置不同角度的圆角,就像css设置border-radius一样。

示例2:更多的属性可以参考文档中进行设置即可。

javascript 复制代码
const rect = new Rect({
    width: 100,
    height: 100,
    fill: 'rgb(50,205,121)',
    cornerRadius: [0, 40, 20, 40]
})

Ellipse

Ellipse主要是用来创建圆形,也可以设置宽高等属性;

示例1:

javascript 复制代码
const ellipse = new Ellipse({
  width: 100,
  height: 100,
  fill: 'rgb(50,205,121)',
});

以上示例只是最简单的圆形元素,圆形可操作型是相当强的,比如环形等等都是可以做的

在css中我们画一个环形是这样做的:

css 复制代码
width: 45px;
height: 45px;
border-radius: 50%;
border: 10px solid rgb(50, 205, 121);

但是在leaferjs中就简单的多了,只需要增加innerRadius: 0.5, 属性即可。

示例2:

javascript 复制代码
const ellipse = new Ellipse({
  width: 100,
  height: 100,
  innerRadius: 0.5,
  fill: 'rgb(50,205,121)',
});

Line

横线也是可以玩出花来,我觉得leaferjs真的挺有意思的,花里胡哨的(我喜欢,哈哈哈)

示例1:这个是很简单的示例。

javascript 复制代码
const line = new Line({
    width: 100,
    strokeWidth: 5,
    stroke: 'rgb(50,205,121)'
})

示例2:通过points可以进行设置各种曲线,包括曲线图也是可以的,相对有意思。

javascript 复制代码
const line = new Line({
    points: [10, 90, 10, 10, 50, 70, 90, 10, 90, 90], 
    curve: true,
    strokeWidth: 5,
    stroke: 'rgb(50,205,121)'
})

Polygon

sides 属性表示多少菱角,cornerRadius 属性表示圆角。

示例1:

javascript 复制代码
const polygon = new Polygon({
    width: 100,
    height: 100,
    sides: 3,
    fill: 'rgb(50,205,121)'
})

示例2:

javascript 复制代码
const polygon = new Polygon({
    width: 100,
    height: 100,
    sides: 6,
    cornerRadius: 10,
    fill: 'rgb(50,205,121)'
})

Text

示例1:基本文本

javascript 复制代码
const text = new Text({
    fill: 'rgb(50,205,121)',
    text: 'Welcome to LeaferJS',
})

示例2:超出文本省略

javascript 复制代码
const text = new Text({
  fill: 'rgb(50,205,121)',
  text: 'Welcome to LeaferJS',
  textOverflow: 'hide',
  fontSize: 40,
  width: 200,
});
text.textOverflow = '...';
workspace.value.add(text);

示例3:首字母大写

javascript 复制代码
const text = new Text({
  fill: 'rgb(50,205,121)',
  text: 'welcome to LeaferJS',
  textOverflow: 'hide',
  fontSize: 40,
  width: 200,
  textCase: 'title',
});
text.textOverflow = '...';
workspace.value.add(text);

总结

以上就是leaferjs元素的基本用法,当然还有很多元素没有写出来,属性同样是的;大家在学习使用的时候可以多看看文档,今天的基本学习就到这儿了;后面有遇到问题以及一些dom的学习上再给大家分享。

相关推荐
hh随便起个名2 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
我是小路路呀3 小时前
element级联选择器:已选中一个二级节点,随后又点击了一个一级节点(仅浏览,未确认选择),此时下拉框失去焦点并关闭
javascript·vue.js·elementui
程序员爱钓鱼3 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder3 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL4 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码4 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_4 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy5 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌5 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构