转换格式
在 JPEG / PNG / WebP 之间转换并校验 MIME、扩展名、声明格式与实际字节格式一致;透明图转 JPEG 必须由用户选择底色。AVIF 在无已验证编解码器时直接拒绝。
输入与参数
image— 图像文件targetFormat— 目标格式backgroundColor— 透明区底色(#RRGGBB)quality— 质量(1–100)lockAspect— 锁定宽高比
真实示例
PNG 800×600, alpha=true, targetFormat=jpeg, backgroundColor=#3366CC
→ {"background":{"required":true,"color":"#3366CC","rgb":[51,102,204],"alphaRemoved":true},"output":{"format":"jpeg","mime":"image/jpeg","ext":"jpg","alpha":false,"envelopeConsistent":true}}
限制与失败处理
必须显式选择目标格式;AVIF、JXL 等未验证格式不开放,绝不输出伪装文件。本轮没有真实编码字节,输出仅为一致性校验后的 JSON 计划;真实格式转换未实测。
FAQ
会下载一个扩展名是 .avif 的 PNG 吗?
不会。AVIF 未验证时抛 AVIF_UNAVAILABLE;validateOutputEnvelope 还会在 actualFormat 与 declaredFormat 不一致时抛 FORMAT_MISMATCH,拒绝伪装输出。
MIME 与扩展名怎么核对?
JPEG→image/jpeg/.jpg,PNG→image/png/.png,WebP→image/webp/.webp;文件名后缀也必须匹配,否则返回 EXT_MISMATCH 或 FILENAME_MISMATCH。