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的学习上再给大家分享。

相关推荐
星栈独行3 小时前
Makepad 应用如何读文件、调接口、保存数据
前端·程序人生·ui·rust·github
一 乐3 小时前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家政服务管理系统
IT_陈寒3 小时前
Vite热更新失效?可能你在用Windows
前端·人工智能·后端
烬羽4 小时前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解
javascript
tedcloud1234 小时前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
xinhuanjieyi4 小时前
html修复游戏种太阳错误
前端·游戏·html
半个落月4 小时前
一个新手用 Bun + Axios 调通 DeepSeek API 的实践记录
javascript
不好听6135 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
林希_Rachel_傻希希5 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
小林ixn5 小时前
从 Ajax 到异步编程:JSON 序列化、Event Loop 与 XHR 请求完全解析
javascript