canvas扩展001:利用fabric绘制图形,可以平移,旋转,放缩

canvas实例应用100+ 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。
canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。

文章目录

    • 示例效果图
    • 示例源代码(共72行)
    • 安装插件
    • 相关API
    • canvas基本属性
    • canvas基础方法

canvas可以使用Fabric.js来做扩展,您可以在画布上创建和填充对象; 诸如简单几何形状之类的对象 - 矩形、圆形、椭圆形、多边形或由数百或数千条简单路径组成的更复杂的形状。 然后,您可以使用鼠标缩放、移动和旋转这些对象; 修改它们的属性 - 颜色、透明度、z-index 等。您还可以完全操作这些对象 - 通过简单的鼠标选择将它们分组。

示例效果图

canvas扩展001:利用fabric绘制图形,可以平移,旋转,放缩_第1张图片

示例源代码(共72行)


/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: [email protected]
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2023-11-24
*/
<template>
	<div class="container">
		<div class="top">
			<h3>利用fabric绘制图形,可以平移,旋转,放缩</h3>
			<div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
		</div>
		<div class="dajianshi ">
             <canvas id="canvas" width="600" height="300"></canvas>
		</div>

	</div>
</template>
<script>
	import {
		fabric
	} from "fabric";
	export default {
		data() {
			return {
			}
		},
		mounted() {
			this.getdata()
		},
		methods: {
			getdata() {
				var canvas = new fabric.Canvas('canvas');
				var rect = new fabric.Rect({
					top: 100,
					left: 100,
					width: 60,
					height: 70,
					fill: 'red'
				});

				canvas.add(rect);
			},
		}
	}
</script>

<style scoped>
	.container {
		width: 1000px;
		height: 580px;
		margin: 50px auto;
		border: 1px solid green;
		position: relative;
	}

	.top {
		margin: 0 auto 0px;
		padding: 10px 0;
		background: lightcoral;
		color: #fff;
	}

	.dajianshi {
		margin: 100px auto 0;
		width: 600px;
		height: 300px;
		background: #059;
	}
</style>


安装插件

npm install fabric --save

相关API

https://www.npmjs.com/package/fabric

canvas基本属性

属性 属性 属性
canvas fillStyle filter
font globalAlpha globalCompositeOperation
height lineCap lineDashOffset
lineJoin lineWidth miterLimit
shadowBlur shadowColor shadowOffsetX
shadowOffsetY strokeStyle textAlign
textBaseline width

canvas基础方法

方法 方法 方法
arc() arcTo() addColorStop()
beginPath() bezierCurveTo() clearRect()
clip() close() closePath()
createImageData() createLinearGradient() createPattern()
createRadialGradient() drawFocusIfNeeded() drawImage()
ellipse() fill() fillRect()
fillText() getImageData() getLineDash()
isPointInPath() isPointInStroke() lineTo()
measureText() moveTo() putImageData()
quadraticCurveTo() rect() restore()
rotate() save() scale()
setLineDash() setTransform() stroke()
strokeRect() strokeText() transform()
translate()

你可能感兴趣的:(#,canvas实例应用100+,fabric,canvas变形,canvas扩展,canvas放缩)