<canvas width="600px;" height="900px;" style="border:solid 1px black;"></canvas>
document.addEventListener("DOMContentLoaded", () => {
  
  const FABRIC            = new fabricExtend.Fabric(fabric).extend();
  const HTMLCanvasElement = document.querySelector("canvas");
  const url               = "https://raw.githubusercontent.com/nicolasmondain/fabric/master/docs/assets/img/SHOOT-0.jpg";
  const canvas            = new FABRIC.StaticCanvas(HTMLCanvasElement, {backgroundColor:  "#eaecef"});
  
  const FILTER_CUSTOM = {
    
    name   : 'custom-name',
    medias : [],
    path   : '',
    actions: [
      
      {name: 'adjustbrightness', parameters: {value1: 20}},
      {name: 'sharpen', parameters: {}},
      {name: 'saturation', parameters: {value1: 70}}
      
    ]
   
  };

  FABRIC.Image.fromURL(url, async(image) => {

    const conf = FABRIC.extended.filters.getconf(FILTER_CUSTOM.name, FILTER_CUSTOM.actions, FILTER_CUSTOM.path, FILTER_CUSTOM.medias);

    await FABRIC.extended.filters.apply(image, conf);

    canvas.add(image);
    image.applyFilters();
    canvas.renderAll();

  }, {
    top: 0,
    left: 0,
    width: 1200,
    height: 1800,
    scaleX: 0.5,
    scaleY: 0.5,
    backgroundColor: "#6c757d",
    crossOrigin: "Anonymous"
  });
});
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/fabric.js/5.3.1/fabric.min.js
  2. https://raw.githack.com/nicolasmondain/fabric/master/dist/main.js