Cropper 设计文档

图片裁切:容器 + 底图 + 遮罩 + 裁切框(含裁切视图 + 8 resize 角点)。几何逻辑委托 @chenzy-design/core 的 CropperFoundation(框架无关,纯原生 DOM/canvas,不引第三方)。支持 rect/round/roundRect 三形状、aspectRatio 比例约束、8 角点自由/约束 resize、裁切框拖拽、遮罩拖拽移动底图、滚轮以指针为中心缩放(min/max/step 钳制)、受控 rotate/zoom、容器 resize 重排、preview 实时预览、getCropperCanvas() ref 取裁切结果 canvas。受控 aspectRatio/rotate/zoom 只读不回写,onZoomChange 仅通知。

← API 文档

使用建议

图片裁切:容器 + 底图 + 遮罩 + 裁切框(含裁切视图 + 8 resize 角点)。几何逻辑委托 @chenzy-design/core 的 CropperFoundation(框架无关,纯原生 DOM/canvas,不引第三方)。支持 rect/round/roundRect 三形状、aspectRatio 比例约束、8 角点自由/约束 resize、裁切框拖拽、遮罩拖拽移动底图、滚轮以指针为中心缩放(min/max/step 钳制)、受控 rotate/zoom、容器 resize 重排、preview 实时预览、getCropperCanvas() ref 取裁切结果 canvas。受控 aspectRatio/rotate/zoom 只读不回写,onZoomChange 仅通知。

Accessibility

  • 容器 role=group + aria-label(走 locale Cropper.container 或 ariaLabel);底图/裁切视图 img 为装饰(alt="");角点/遮罩/裁切框 role=presentation,交互经鼠标/滚轮(对齐 Semi 原生实现,无键盘 resize)。

设计变量

变量默认值用法
--cd-cropper-box-outline-color var(--cd-color-primary)裁切框 outline 颜色
--cd-cropper-corner-bg var(--cd-color-primary)裁切框 8 角点填充色(品牌色,对齐 Semi $color-cropper_box_corner-bg)
--cd-cropper-mask-bg var(--cd-color-overlay-bg)裁切框外遮罩层背景色(半透明暗色)