xfy
b6146a29ae
feat(photo-editor): 旋转图片时加平滑动画,裁剪填满零黑边
- 旋转角用 Animatable + tween(300ms) 平滑过渡,容器宽高比用
animateFloatAsState 在目标稳态比例间过渡,消除硬切
- 黑边根因:旋转矩形填不满自身 AABB 的四角(45° 时黑色占 51%)。
用户选「裁剪填满」方案:图片显示 rotatedBitmap(目标态),
graphicsLayer 旋转 + coverScale 放大使四角覆盖容器 → 零黑边
- 提取旋转几何为纯函数 RotationGeometry(无 Android 依赖):
stableAspect + coverScale,便于单测
- 回归测试 RotationGeometryTest 锁住「任意角度旋转图片四角
覆盖容器四角」断言(maxViolation <= 1e-4),防止黑边回归
- 稳态(offset=0) scale=1 零裁剪;动画中(±45°) scale≈1.65 裁边缘
保存逻辑未变:PhotoProcessor.render 仍用 rotationDegrees 烘焙。
2026-07-22 18:31:48 +08:00
..
2026-07-17 13:21:45 +08:00
2026-07-22 18:31:48 +08:00
2026-05-20 16:46:17 +08:00
2026-07-22 14:26:27 +08:00
2026-06-16 10:17:21 +08:00