43 Star 958 Fork 264

德育处主任/前端数据可视化

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.vscode
dist
public
src
assets
components/Root
router
store
views
BaiduMap
Canvas
ECharts
FabricJS
Basic
pages
AbsolutePan
Animation
BasicGraph
CenterObject
ChangingBordersCorners
ClipPath
Color
Deserialization
DrawPath
Event
Filter
FreeDrawing
Gradient
Groups
IText
Locking
MousePoint
MoveTo
RemoveObj
SelectedStyle
Serialization
Serialization.vue
SetCanvasWH
Stated
StraightenObject
Text
Textbox
UseImage
ZoomAndPanning
index.vue
Demo
index.vue
Home
Native
NotFound
OpenLayers
SVG
Three
App.vue
main.js
.gitignore
LICENSE
OfficialAccounts.gif
README.md
index.html
package-lock.json
package.json
preview.gif
q.png
vite.config.js
克隆/下载
Serialization.vue 3.71 KB
一键复制 编辑 原始数据 按行查看 历史
德育处主任 提交于 4年前 . fabric 序列化
<template>
<div class="box">
<div class="canvas_x">
<div>1、空画布</div>
<canvas width="200" height="200" id="canvas1" style="border: 1px solid #ccc;"></canvas>
</div>
<div class="canvas_x">
<div>2、有背景色的画布</div>
<canvas width="200" height="200" id="canvas2" style="border: 1px solid #ccc;"></canvas>
</div>
<div class="canvas_x">
<div>3、有图案的 toJSON</div>
<canvas width="200" height="200" id="canvas3" style="border: 1px solid #ccc;"></canvas>
</div>
<div class="canvas_x">
<div>4、有图案的 toObject</div>
<canvas width="200" height="200" id="canvas4" style="border: 1px solid #ccc;"></canvas>
</div>
<div class="canvas_x">
<div>5、输出base64 - png</div>
<canvas width="200" height="200" id="canvas5" style="border: 1px solid #ccc;"></canvas>
<div>
<button @click="toPng">toDataURL('png')</button>
</div>
</div>
<div class="canvas_x">
<div>6、toSVG</div>
<canvas width="200" height="200" id="canvas6" style="border: 1px solid #ccc;"></canvas>
<div>
<button @click="toSVG">toSVG</button>
</div>
</div>
</div>
</template>
<script setup>
import { onMounted } from 'vue'
import { useStore } from 'vuex'
import { fabric } from 'fabric'
// 参考:https://blog.csdn.net/qq_43759079/article/details/115357084?spm=1001.2014.3001.5501
const store = useStore()
function init1() {
let canvas = new fabric.Canvas('canvas1')
// 序列化空画布 {"version":"4.6.0","objects":[]}
console.log('canvas1', JSON.stringify(canvas))
console.log('canvas1', canvas.toJSON())
}
function init2() {
let canvas = new fabric.Canvas('canvas2', {
backgroundColor: '#ddd'
})
console.log('canvas2: ', canvas.toJSON())
}
function init3() {
let canvas = new fabric.Canvas('canvas3', {
backgroundColor: '#ddd'
})
canvas.add(new fabric.Rect({
left: 50,
top: 50,
height: 20,
width: 20,
fill: 'green'
}))
canvas.add(new fabric.Circle({
left: 80,
top: 80,
radius: 40,
fill: "red"
}))
console.log('canvas3', canvas.toJSON())
}
function init4() {
let canvas = new fabric.Canvas('canvas4', {
backgroundColor: '#ddd'
})
canvas.add(new fabric.Rect({
left: 50,
top: 50,
height: 20,
width: 20,
fill: 'green'
}))
canvas.add(new fabric.Circle({
left: 80,
top: 80,
radius: 40,
fill: "red"
}))
// toObject仅以实际对象的形式返回与toJSON相同的表示形式,而没有字符串序列化
console.log('canvas4', canvas.toObject())
}
let canvas5 = null
function init5() {
canvas5 = new fabric.Canvas('canvas5', {
backgroundColor: '#a5dee5'
})
canvas5.add(new fabric.Rect({
left: 50,
top: 50,
height: 20,
width: 20,
fill: 'green'
}))
canvas5.add(new fabric.Circle({
left: 80,
top: 80,
radius: 40,
fill: "red"
}))
}
function toPng() {
console.log('toPng', canvas5.toDataURL('png'))
}
let canvas6 = null
function init6() {
canvas6 = new fabric.Canvas('canvas6', {
backgroundColor: '#a5dee5'
})
canvas6.add(new fabric.Rect({
left: 50,
top: 50,
height: 20,
width: 20,
fill: 'green'
}))
canvas6.add(new fabric.Circle({
left: 80,
top: 80,
radius: 40,
fill: "red"
}))
}
function toSVG() {
console.log(canvas6.toSVG())
}
onMounted(() => {
store.commit('setComponentPath', 'src/views/FabricJS/Basic/pages/Serialization/Serialization.vue')
init1()
init2()
init3()
init4()
init5()
init6()
})
</script>
<style lang="scss" scoped>
.box {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.canvas_x {
margin: 10px;
canvas {
border: 1px solid #ccc;
}
}
</style>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/k21vin/front-end-data-visualization.git
git@gitee.com:k21vin/front-end-data-visualization.git
k21vin
front-end-data-visualization
前端数据可视化
master

搜索帮助