# 参考素材与透明度验收 ## 确定素材是否可用 先检查原始文件、项目资源和局部裁图的清晰度、背景与边缘;合格就复用。素材有效像素应覆盖最终显示需求,例如 150 CSS px 宽、DPR 2 的标识至少需要 300 有效像素宽,大面积留白不算图形分辨率。插值放大不会恢复细节。 品牌标识优先原始 SVG 或高清文件;缺少原稿且任务已授权重建时才使用实际 Logo 参考,锁定轮廓、字样与图文比例,不重新设计品牌。生成 PNG 和 SVG 包裹位图都不能冒称原始矢量文件。 ## 确需生成时 1. 明确输入用途:整页提供布局上下文,局部图提供主体参考,需要保留内容的原图是编辑目标。实际图片输入的核验按 [生成工具](generation.md) 处理。 2. 按容器确定宽高比、主体位置、裁切余量和像素需求;写清保留与变化范围。被遮挡内容的补全属于推断,不承诺恢复原图。 3. 沿用主流程选定的工具生成。大插画、Logo 与小图标分开;只有确需统一风格且能规则切割的小图标才合成素材板,明确行列数、留白和不重叠。 4. 保留原始输出与提示词,再将可用版本放回页面,检查实际尺度、裁切和遮挡。只完成素材检查时不声称页面还原通过。 提示词按需填写,不固定品牌、风格或背景色: ```text 任务:从参考图重建独立的[素材对象],用于[页面容器]。 保留:[轮廓、姿态、视角、颜色、字样或构图关系]。 改变或移除:[页面正文、控件、外框、指定背景];保留[素材内部需要的环境]。 规格:[宽高比、主体位置、必须完整的部分、裁切余量、目标像素]。 背景:[真实透明/指定纯色/保留环境],根据用途和当前工具能力选择。 输出:只包含该素材,不添加无关文字或页面 UI。 ``` ## 透明度检查 需要透明时,仅使用实际接口支持的参数请求真实 alpha。当前调用链没有结论可先尝试;同一任务已验证失败且调用方式未变时,不逐素材重复试。保留失败原图与检测结果;只有明确可修正的问题才至多重试一次,之后使用已授权后处理或报告限制。 对原始输出及后处理结果分别运行(依赖 Pillow): ```bash python3 scripts/check_asset_alpha.py /path/to/asset.png --require-transparency ``` - 返回码 2:没有有效透明像素或整图不可见,不作为透明素材交付。 - 返回码 0:同时存在透明像素和可见内容,只通过结构检查;仍需检查背景是否完整移除、主体有无误删、细线和毛发是否残留色边。 PNG 扩展名、RGBA 模式、画入的棋盘格都不能证明透明;调色板透明元数据也应由程序识别。透明度少量通过不等于边缘质量通过,直接透明与后处理透明分别记录。 ## 条件性后处理 仅在需要且当前任务及生成 Skill 允许时使用。背景色应避开主体颜色,也可采用可靠分割方案;照片内部环境需要保留时不要一并删除。以下参数是起点,先检查样本,不作为全部素材的默认值: | 素材条件 | 可选处理 | 重点检查 | | --- | --- | --- | | 白底上的深色标识或细线 | 白底转 alpha | 主体浅色部分与抗锯齿白边;细线避免收缩边缘 | | 主体与单色背景可明确分离 | 按背景色抠图 | 同色主体、半透明区域与残留色边;主体含绿时不用绿幕 | | 毛发、柔光或背景与主体混色严重 | 可靠分割、重新准备素材或拆层 | 是否损失细节,简单阈值是否足够 | 白底示例: ```bash python3 scripts/prepare_image_asset.py input-white.png output-alpha.png --alpha --threshold 248 --feather 10 --padding 16 ``` 主体不含绿色时的绿幕示例: ```bash python3 scripts/prepare_image_asset.py input-green.png output-alpha.png --key-color '#00ff00' --key-threshold 28 --feather 12 --despill --padding 10 ``` 输出使用新路径,保留输入。`--no-trim` 保留画布,`--edge-contract` 会收缩边缘,仅在样本确认需要时使用;`--despill` 针对绿色污染。后处理完成后重新检查 alpha,并在目标深浅底、实际显示尺寸下查看边缘。 ## 放回页面与交付 文件属性由程序检查,主体、品牌拼写、构图和裁切由实际画面判断。尺寸或构图不适合容器时回到规格,不靠反复移动图片修补互相冲突的裁切。混合模式不会改变源文件透明度,使用时还须检查堆叠上下文与矩形底色。 独立保存资产并注明来源、尺寸、背景、适用底色与重建差异;细字和边缘的页面验收按 [测量与校准](calibration.md) 执行。