fabricjs学习一:基本图形、静态canvas、image、path

  • Post author:
  • Post category:其他


fabric提供了7种基础图形

使用示例

var circle = new fabric.Circle({
  radius: 20, fill: 'green', left: 100, top: 100
});
var triangle = new fabric.Triangle({
  width: 20, height: 30, fill: 'blue', left: 50, top: 50
});

canvas.add(circle, triangle);

可以通过 get方法获取元素属性,用set设置元素属性

fabricjs的canvas上的元素,初始是可以选择,拖动,拉伸的。要禁止这些操作,有两种方式:

一、在单个元素上设置 selectable为false,这样设置的单个元素是无法选择和拖动了。

var canvas = new fabric.Canvas('c');
...
canvas.selection = false; // disable group selection
rect.set('selectable', false); // make object unselectable

二、通过设置静态的canvas,可以让所有元素都无法拖动。

var staticCanvas = new fabric.StaticCanvas('c');

staticCanvas.add(
  new fabric.Rect({
    width: 10, height: 20,
    left: 100, top: 100,
    fill: 'yellow',
    angle: 30
  }));

image操作示例:

1、来自于image元素

// html
<canvas id="c"></canvas>
<img src="my_image.png" id="my-image">

// js
var canvas = new fabric.Canvas('c');
var imgElement = document.getElementById('my-image');
var imgInstance = new fabric.Image(imgElement, {
  left: 100,
  top: 100,
  angle: 30,
  opacity: 0.85
});
canvas.add(imgInstance);

2、来自于image url

fabric.Image.fromURL('my_image.png', function(oImg) {
  // scale image down, and flip it, before adding it onto canvas
  oImg.scale(0.5).set('flipX, true);
  canvas.add(oImg);
})

path

var canvas = new fabric.Canvas('c');
var path = new fabric.Path('M 0 0 L 200 100 L 170 200 z');
path.set({ left: 120, top: 120 });
canvas.add(path);

参考:


http://fabricjs.com/fabric-intro-part-1



版权声明:本文为peade原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。