# 移除图片适配模式功能 ## 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`: 移除图片处理架构说明