Cropper
The Cropper constructor creates a new Cropper instance.
Usage
Syntax
js
new Cropper(element[, options])element
- Type:
HTMLImageElement | HTMLCanvasElement | string - The target image or canvas element for cropping. If it is a string, will be passed into the
document.querySelectorto find the element.
- Type:
options (optional)
- Type:
Object - The options for cropping.
- Type:
Example
Details
vue
<template>
<div class="cropper-container" />
</template>
<script lang="ts">
import Cropper from 'cropperjs';
const { BASE_URL } = import.meta.env;
export default {
name: 'CropperExample',
data() {
return {
src: `${BASE_URL}picture.jpg`,
};
},
mounted() {
const image = new Image();
image.src = this.src;
image.alt = 'Picture';
const cropper = new Cropper(image, {
container: '.cropper-container',
});
// eslint-disable-next-line no-console
console.log(cropper);
},
};
</script>
<style lang="scss" scoped>
.cropper-container {
border: 1px solid var(--vp-c-divider);
border-radius: 0.375rem;
margin-bottom: 1rem;
margin-top: 1rem;
padding: 1.25rem 1.5rem;
:deep(cropper-canvas) {
height: 360px;
}
}
</style>Options
| Name | Type | Default | Description |
|---|---|---|---|
| container | Element | string | Defaults to the parent element of the target element, or document.body if the parent element is null. | The Cropper container. If it is a string, it will be passed into the document.querySelector to find the element. |
| template | string | Defaults to a built-in template, see below. | The Cropper template. |
The default template for the Cropper:
html
<cropper-canvas background>
<cropper-image></cropper-image>
<cropper-shade hidden></cropper-shade>
<cropper-handle action="select" plain></cropper-handle>
<cropper-selection initial-coverage="0.5" movable resizable>
<cropper-grid role="grid" bordered covered></cropper-grid>
<cropper-crosshair centered></cropper-crosshair>
<cropper-handle action="move" theme-color="rgba(255, 255, 255, 0.35)"></cropper-handle>
<cropper-handle action="n-resize"></cropper-handle>
<cropper-handle action="e-resize"></cropper-handle>
<cropper-handle action="s-resize"></cropper-handle>
<cropper-handle action="w-resize"></cropper-handle>
<cropper-handle action="ne-resize"></cropper-handle>
<cropper-handle action="nw-resize"></cropper-handle>
<cropper-handle action="se-resize"></cropper-handle>
<cropper-handle action="sw-resize"></cropper-handle>
</cropper-selection>
</cropper-canvas>Instance Properties
| Name | Type | Description |
|---|---|---|
| element | HTMLImageElement | HTMLCanvasElement | The normalized Cropper element. |
| options | Object | The normalized Cropper options. |
| container | Element | The normalized Cropper container. |
Instance Methods
getCropperCanvas
- Syntax:
getCropperCanvas() - Alternative:
cropper.container.querySelector('cropper-canvas') - Returns:
- Type:
CropperCanvas | null - The
<cropper-canvas>element if any.
- Type:
Get the <cropper-canvas> element in the Cropper container.
getCropperImage
- Syntax:
getCropperImage() - Alternative:
cropper.container.querySelector('cropper-image') - Returns:
- Type:
CropperImage | null - The
<cropper-image>element if any.
- Type:
Get the <cropper-image> element in the Cropper container.
getCropperSelection
- Syntax:
getCropperSelection() - Alternative:
cropper.container.querySelector('cropper-selection') - Returns:
- Type:
CropperSelection | null - The
<cropper-selection>element if any.
- Type:
Get the <cropper-selection> element in the Cropper container.
getCropperSelections
- Syntax:
getCropperSelections() - Alternative:
cropper.container.querySelectorAll('cropper-selection') - Returns:
- Type:
NodeListOf<CropperSelection> | null - The
<cropper-selection>element if any.
- Type:
Get all the <cropper-selection> elements in the Cropper container when there are multiple selections.
Exported Modules
js
import {
// Constants
DEFAULT_TEMPLATE,
// Elements
CropperElement,
CropperCanvas,
CropperImage,
CropperShade,
CropperHandle,
CropperSelection,
CropperGrid,
CropperCrosshair,
CropperViewer,
} from 'cropperjs';