展示类 · Cropper
图片裁切
通过设定裁切框的宽高比例,自由裁切图片

使用场景

Cropper 用于裁切图片,支持自定义裁切框样式,可通过拖动调整裁切框位置,被裁切图片位置;可缩放,旋转被裁切图片。

代码演示

如何引入

Cropper 从 v2.73.0 开始支持

基本用法

通过 sr 设置被裁切的图片; 可通过 shape 设置裁切框形状,默认为方形。

自定义裁切框比例

可通过 defaultAspectRatio 初始的裁切框比例(默认为 1)。可通过 aspectRatio 设置固定的裁切框比例。
设置 defaultAspectRatio仅对初始的裁切框比例生效, 拖动时,裁切框比例会随着拖动而变化。
设置 aspectRatio 时,裁切框比例固定,拖动时将裁切框将以此比例变化。

受控旋转/缩放图片

通过 rotatezoom 控制图片旋转和缩放, 可通过 onZoomChange 拿到最新的 zoom 值。

裁切框设置

可通过 cropperBoxStyle, cropperBoxClassName 自定义裁切框样式。可通过 showResizeBox 设置是否展示裁切框边角的调整块。

API

属性说明类型默认值
aspectRatio裁切框比例number-
className类名string-
cropperBoxClassName裁切框类名string-
cropperBoxStyle裁切框样式CSSProperties-
defaultAspectRatio初始裁切框比例number1
imgProps透传给 img 标签的属性object-
fill裁切结果中非图片部分的填充色string'rgba(0, 0, 0, 0)'
maxZoom最大缩放倍数number3
minZoom最小缩放倍数number0.1
onZoomChange缩放回调(zoom: number) => void-
rotate旋转角度number-
shape裁切框形状'rect' | 'round' | 'roundRect''rect'
src图片地址string-
showResizeBox是否展示调整块booleantrue
style样式CSSProperties-
zoom缩放比例number-
zoomStep缩放步长number0.1

Methods

绑定在组件实例上的方法,可以通过 ref 调用实现某些特殊交互
NameDescription
getCropperCanvas获取裁剪图片的 canvas

设计变量