demos/Collage/fabric.js
function(ctx, noTransform) {
      ctx.save();
      var m = this.transformMatrix;
      this._resetWidthHeight();
      if (this.group) {
        ctx.translate(-this.group.width/2 + this.width/2, -this.group.height/2 + this.height/2);
      }
      if (m) {
        ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);
      }
      if (!noTransform) {
        this.transform(ctx);
      }
      this._render(ctx);
      if (this.active && !noTransform) {
        this.drawBorders(ctx);
        this.hideCorners || this.drawCorners(ctx);
      }
      ctx.restore();
    }
function(ctx, noTransform) {
      ctx.save();
      var m = this.transformMatrix;
      this._resetWidthHeight();
      if (this.group) {
        ctx.translate(-this.group.width/2 + this.width/2, -this.group.height/2 + this.height/2);
      }
      if (m) {
        ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);
      }
      if (!noTransform) {
        this.transform(ctx);
      }
      this._render(ctx);
      if (this.active && !noTransform) {
        this.drawBorders(ctx);
        this.hideCorners || this.drawCorners(ctx);
      }
      ctx.restore();
    }
function ( ctx , noTransform ) { ctx . save ( ) ; var m = this . transformMatrix ; this . _resetWidthHeight ( ) ; if ( this . group ) { ctx . translate ( - this . group . width / 2 + this . width / 2 , - this . group . height / 2 + this . height / 2 ) ; } if ( m ) { ctx . transform ( m [ 0 ] , m [ 1 ] , m [ 2 ] , m [ 3 ] , m [ 4 ] , m [ 5 ] ) ; } if ( ! noTransform ) { this . transform ( ctx ) ; } this . _render ( ctx ) ; if ( this . active && ! noTransform ) { this . drawBorders ( ctx ) ; this . hideCorners || this . drawCorners ( ctx ) ; } ctx . restore ( ) ; }
Renders image on a specified context
@method render
@param {CanvasRenderingContext2D} ctx Context to render on
Renders image on a specified context