Skip to content

CropperCanvas ​

The CropperCanvas interface provides properties and methods for manipulating the layout and presentation of <cropper-canvas> elements.

Examples ​

Basic ​

TIP

The default minimum width and minimum height of this element are 200px and 100px.

Background ​

Interactive ​

Disabled ​

All pointer events are disabled.

Properties ​

Inherits properties from its parent, CropperElement, and implements the following properties:

NameTypeDefaultOptionsDescription
backgroundbooleanfalse-Indicates whether this element has a grid background.
disabledbooleanfalse-Indicates whether this element is disabled.
scaleStepnumber0.1-Indicates the stepping interval of the scaling factor when zooming in/out by wheeling, must a positive number.
themeColorstring"#39f"-Indicates the primary color of this element and its children.

Methods ​

$setAction ​

  • Syntax: $setAction(action)
  • Arguments:
    • action:
      • Type: string
      • The new action.
  • Returns:
    • Type: CropperCanvas
    • The element instance for chaining.

Changes the current action to a new one.

$toCanvas ​

  • Syntax:
    • $toCanvas()
    • $toCanvas(options)
  • Arguments:
    • options:
      • Type: Object
      • The available options.
      • Properties:
        • width:
          • Type: number
          • The width of the canvas.
        • height:
          • Type: number
          • The height of the canvas.
        • beforeDraw:
          • Type: Function
          • The function called before drawing the image onto the canvas.
          • Syntax: beforeDraw(context, canvas)
          • Arguments:
            • context:
              • Type: CanvasRenderingContext2D
              • The 2D rendering context of the canvas.
            • canvas:
              • Type: HTMLCanvasElement
              • The canvas element itself.
          • Example: function (context) { context.filter = 'grayscale(100%)'; }
  • Returns:
    • Type: Promise
    • A promise that resolves to the generated canvas element.
  • Example:

Generates a real canvas element, with the image drawn into if there is one.

Events ​

action ​

The event is fired when a pointer changes on the canvas.

  • Event:
    • event.bubbles: true
    • event.cancelable: false
    • event.composed: true
    • event.detail:
      • Type: Object
      • The related data of the action.
    • event.detail.action:
      • Type: string
      • Options: "select", "move", "scale", "rotate", "transform", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", and "sw-resize".
      • The action type.
    • event.detail.relatedEvent:
      • Type: PointerEvent | TouchEvent | MouseEvent | WheelEvent
      • The related native event that triggered this event.
    • event.detail.scale:
      • Type: number
      • The scaling factor, only available when the action is "scale" or "transform".
    • event.detail.rotate:
      • Type: number
      • The scaling factor, only available when the action is "rotate"or "transform".
    • event.detail.startX:
      • Type: number
      • The starting pageX value, only available when the relatedEvent is PointerEvent, TouchEvent, or MouseEvent.
    • event.detail.startY:
      • Type: number
      • The starting pageY value, only available when the relatedEvent is PointerEvent, TouchEvent, or MouseEvent.
    • event.detail.endX:
      • Type: number
      • The ending pageX value, only available when the relatedEvent is PointerEvent, TouchEvent, or MouseEvent.
    • event.detail.endY:
      • Type: number
      • The ending pageY value, only available when the relatedEvent is PointerEvent, TouchEvent, or MouseEvent.
  • Example:
html
<cropper-canvas id="canvas"></cropper-canvas>

<script>
document.querySelector('#canvas').addEventListener('action', function (event) {
  console.log(event);
});
</script>

actionstart ​

The event is fired when a pointer becomes active.

  • Event:
    • event.bubbles: true
    • event.cancelable: true
    • event.composed: true
    • event.detail:
      • Type: Object
      • The related data of the action.
    • event.detail.action:
      • Type: string
      • Options: same as the action event.
      • The action type.
    • event.detail.relatedEvent:
      • Type: PointerEvent | TouchEvent | MouseEvent
      • The related native event that triggered this event.

actionmove ​

This event is fired when a pointer changes coordinates.

  • Event:
    • event.bubbles: true
    • event.cancelable: true
    • event.composed: true
    • event.detail:
      • Type: Object
      • The related data of the action.
    • event.detail.action:
      • Type: string
      • Options: same as the action event.
      • The action type.
    • event.detail.relatedEvent:
      • Type: PointerEvent | TouchEvent | MouseEvent
      • The related native event that triggered this event.

actionend ​

This event is fired when a pointer is no longer active.

  • Event:
    • event.bubbles: true
    • event.cancelable: true
    • event.composed: true
    • event.detail:
      • Type: Object
      • The related data of the action.
    • event.detail.action:
      • Type: string
      • Options: same as the action event.
      • The action type.
    • event.detail.relatedEvent:
      • Type: PointerEvent | TouchEvent | MouseEvent
      • The related native event that triggered this event.

Slots ​

There is only one default slot in this element.

You can disable it by setting the slottable property to false:

html
<cropper-canvas slottable="false"></cropper-canvas>

Released under the MIT License.