Files
simple-react-app-kit/packages/cropper/docs/zh-Hans/overview.mdx
T

34 lines
1.3 KiB
Plaintext
Raw Normal View History

2026-09-29 17:09:39 +08:00
---
title: 概览
description: 在 React 中完成图片平移、缩放、裁剪计算与 Canvas 导出。
order: 1
toc:
- id: package-role
title: Package 定位
- id: capabilities
title: 功能
- id: data-model
title: 数据模型
---
## Package 定位 {#package-role}
`@workspace/cropper` 提供固定视口式图片裁剪:用户在裁剪视口内移动和缩放图片,组件持续返回原图像素坐标中的裁剪区域。组件只负责交互和几何计算,不负责上传、存储或修改原始文件。
## 功能 {#capabilities}
- 鼠标和触摸拖拽。
- 双指、滚轮、双击和键盘缩放。
- 受控与非受控状态。
- 矩形和圆形视口。
2026-09-29 17:46:16 +08:00
- 支持数字或 `"宽:高"` 格式的视口比例。
- 支持 URL 和本地 `Blob` 图片源,并自动释放临时 object URL。
2026-09-29 17:09:39 +08:00
- 响应容器尺寸变化并自动约束图片位置。
- 独立的纯几何函数。
2026-09-29 17:46:16 +08:00
- 通过组件 ref 重置、读取区域并导出结果。
- 使用 Canvas 导出 PNG、JPEG 或 WebP Blob/base64。
2026-09-29 17:09:39 +08:00
## 数据模型 {#data-model}
`CropperValue` 中的 `x`、`y` 是相对视口中心的 CSS 像素偏移,`zoom` 是相对于 cover fit 的缩放倍数。`CropArea` 使用原图像素,因此可以直接交给服务端图片处理服务,也可以传给 `cropImage()` 在浏览器内导出。