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

fabric提供了7种基础图形

  • fabric.Circle
  • fabric.Ellipse
  • fabric.Line
  • fabric.Polygon
  • fabric.Polyline
  • fabric.Rect
  • fabric.Triangle

使用示例

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



// 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

 

 

你可能感兴趣的:(canvas&webgl)