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) | 裁切框外遮罩层背景色(半透明暗色) |