移除图片 fit 和 background 参数支持,简化图片渲染逻辑。系统恢复到直接使用 python-pptx 原生图片添加功能,图片将被拉伸到指定尺寸。 变更内容: - 移除 ImageElement 的 fit 和 background 字段 - 移除 metadata.dpi 配置 - 删除 utils/image_utils.py 图片处理工具模块 - 删除 validators/image_config.py 验证器 - 简化 PPTX 和 HTML 渲染器的图片处理逻辑 - HTML 渲染器使用硬编码 DPI=96(Web 标准) - 删除相关测试文件(单元测试、集成测试、e2e 测试) - 更新规格文档和用户文档 - 保留 Pillow 依赖用于未来可能的图片处理需求 影响: - 删除 11 个文件 - 修改 10 个文件 - 净减少 1558 行代码 - 所有 402 个测试通过 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
# 移除图片适配模式功能
|
||
|
||
## Why
|
||
|
||
图片适配模式功能已实现但尚未上线使用,经过评估决定移除该功能以简化系统复杂度。移除后系统将恢复到更简单直接的图片渲染方式:直接使用 python-pptx 的原生图片添加功能,图片会被拉伸到指定尺寸。
|
||
|
||
## What Changes
|
||
|
||
- **BREAKING** 移除图片元素的 `fit` 参数(stretch、contain、cover、center 四种模式)
|
||
- **BREAKING** 移除图片元素的 `background` 参数(背景色填充)
|
||
- **BREAKING** 移除文档级的 `metadata.dpi` 配置
|
||
- **BREAKING** 删除 `utils/image_utils.py` 模块(图片处理工具)
|
||
- **BREAKING** 删除 `validators/image_config.py` 模块(图片配置验证器)
|
||
- 重写 `renderers/pptx_renderer.py` 的 `_render_image()` 方法,恢复简单实现
|
||
- 简化 `renderers/html_renderer.py` 的 `render_image()` 方法,移除 fit/background 处理
|
||
- 简化 `core/elements.py` 的 `ImageElement` 类,移除 fit/background 字段
|
||
- 简化 `core/presentation.py` 的 `Presentation` 类,移除 dpi 配置读取
|
||
- 保留 Pillow 依赖(留作未来可能的其他用途)
|
||
- HTML 渲染器使用硬编码的 DPI=96(Web 标准,无需用户配置)
|
||
|
||
## Capabilities
|
||
|
||
### Modified Capabilities
|
||
- `element-rendering`: 移除图片元素的 fit 和 background 参数支持,恢复到基础图片渲染
|
||
- `html-rendering`: 移除图片元素的 fit 和 background 参数支持,简化 HTML 图片渲染
|
||
|
||
## Impact
|
||
|
||
### 代码变更
|
||
- `core/elements.py`: ImageElement 移除 fit 和 background 字段及验证逻辑
|
||
- `core/presentation.py`: Presentation 移除 dpi 配置读取
|
||
- `renderers/pptx_renderer.py`: 重写 _render_image() 方法,移除 Pillow 图片处理和 fit 模式逻辑
|
||
- `renderers/html_renderer.py`: 简化 render_image() 方法,移除 fit 模式映射和背景色容器
|
||
- `yaml2pptx.py`: 移除传递 dpi 参数到 PptxGenerator
|
||
- `preview/server.py`: 移除传递 dpi 参数到 HtmlRenderer
|
||
- `validators/validator.py`: 移除对 image_config 的引用
|
||
|
||
### 删除的文件
|
||
- `utils/image_utils.py`: 整个文件删除
|
||
- `validators/image_config.py`: 整个文件删除
|
||
- `tests/unit/test_image_utils.py`: 删除
|
||
- `tests/unit/test_validators/test_image_config.py`: 删除
|
||
- `tests/integration/test_image_fit_modes.py`: 删除
|
||
- `openspec/specs/image-fit-modes/`: 整个规格目录删除
|
||
|
||
### API 变更
|
||
- YAML 语法移除:
|
||
- 图片元素不再支持 `fit` 字段
|
||
- 图片元素不再支持 `background` 字段
|
||
- metadata 层级不再支持 `dpi` 字段
|
||
|
||
### 依赖变更
|
||
- Pillow 依赖保留(在 pyproject.toml 中),用于未来可能的图片处理需求
|
||
|
||
### 文档变更
|
||
- `README.md`: 移除图片适配模式使用说明
|
||
- `README_DEV.md`: 移除图片处理架构说明
|