进阶离线资源 R1 · 2026-10-15。适合能运行 Python 的技术同事;也可以把约定与原文件交给技术同事协助。此资源读取显式指定的常规静态 PNG,对照已经约定的宽、高与格式输出 JSON 差异报告;JPEG 可以识别实际格式并给出编码像素参考,但完整性需另行核实,不自动给出匹配通过结论。
这是技术子项核对,不是设计交付验收。程序不会修改、转换、旋转、重存或上传原图。报告中的 delivery_approved 固定为空;文字、排版、背景、授权、颜色和业务内容仍须人工检查。PNG 透明背景一律不自动判断。
本包实际复测环境为 Python 3.10.7、Pillow 11.3.0。Pillow 是第三方依赖,不包含在下载包里;其他版本与客户电脑未验证。本工具不自动安装依赖、不联网;首次安装依赖需要由你或技术同事在自行管理的环境中完成。
python3 --version python3 -c "import PIL; print(PIL.__version__)"
requirements.txt 记录用于复现本轮验证的依赖版本。不要把版本锁定当作最新安全版本推荐;在你自己的环境安装或升级依赖后应重新执行本包测试,再处理可信来源的文件。
复制并修改 requirements.json。下列 120×60 只是合成例子的约定,不是网页、海报或印刷行业标准。两个尺寸均以像素为单位;没有约定的尺寸写 null,程序会记为 not_agreed。
{
"schema_version": 1,
"allowed_formats": ["PNG", "JPEG"],
"expected_width_px": 120,
"expected_height_px": 60,
"transparency_requirement": "not_agreed"
}
allowed_formats 必须明确为 PNG、JPEG 或两者;使用大写,不从文件后缀猜约定。expected_width_px、expected_height_px 为正整数或 null,不能写“120px”、0 或小数。transparency_requirement 为 required(需要透明)、not_required(不要求)或 not_agreed(未约定)。这不会启动 PNG 透明背景自动验收。在解压目录打开终端,显式列出收到的文件;路径含空格要加引号。程序不递归扫描文件夹。报告路径必须尚不存在,输出目录需已存在。
python3 image_preflight.py --requirements requirements.json --output 核对报告-01.json "fixtures/F01-72ppi.png" "fixtures/F02-normal.jpg"
把样例路径替换为你实际收到的图片路径。请保留原始副本。JSON 报告包含文件名、实际格式、编码像素、原文件前后 SHA256 等信息,转发报告前检查文件名是否含项目或个人信息。
上述命令包含一个 JPEG,因此预期退出码为1,JPEG结果为“需另核完整性”,不是命令执行失败。若只想先复测 PNG 正例,可以只列 fixtures/F01-72ppi.png,使用一个尚不存在的新报告名。
format_and_pixel_checks=match:仅对支持范围内的静态 PNG,表示结构验证与完整解码后的实际格式、后缀与已约定宽高一致;不等于背景、效果、授权或交付通过。JPEG 一律不自动给出 match。mismatch:PNG至少一项不符,例如宽度119而约定120,或实际PNG不在允许格式内。程序不会替你修正。JPEG后缀伪装会在独立字段标记不符,整体仍为 not_evaluated。not_evaluated:规格未约定、方向需人工、超过上限、动画或文件不能完整解码等。结合具体字段处理,不要当成通过。width_match / height_match:可为布尔值、not_agreed 或 not_evaluated。format_match 与 extension_format_match 分开记录。transparency_status 固定 not_checked;RGBA、透明元数据或 PNG 后缀都不能代替人工确认背景。明确要求透明时,常规 JPEG 记 format_cannot_carry_alpha,仍不替你决定是否接受该交付。orientation_requires_manual,编码宽高仅供参考,不自动旋转或当作观看尺寸;JPEG 在本版始终不自动比较通过。decode_status=decoder_loaded_integrity_unverified、jpeg_integrity_status=not_independently_verified,宽高对比及整体结果均为 not_evaluated;请另行核实文件完整性与观看尺寸。保留格式/后缀不符的字段,但不能把“可打开”当成完整。input_unchanged=true 表示本次读前后 SHA256 相同;如果运行期间文件被其他程序修改,记为不可靠并停止给该文件技术匹配结论。进程退出码:0 为所有文件的格式与像素技术子项一致;1 为至少一个不符、不支持、未约定、需要人工或超限;2 为约定、命令或输出失败。即使退出码0,PNG背景等人工项也仍待检查。
11份自制样例预期覆盖8个情景:相同像素不同PPI、普通JPEG、宽度不符、后缀伪装、3种PNG透明信息、EXIF旋转、APNG、截断文件。它们全部是人工合成技术测试,不是真实客户稿、供给或业绩证据。
python3 test_cli.py
该命令在本目录临时创建边界样例与新报告,结束后清理;不改11份固定样例,结果写入 test-results.json。create_fixtures.py 仅用于向空的fixtures目录生成新样例,已有样例时拒绝执行。未进行 Photoshop、浏览器操作或客户终端实测。
读取日期2026-10-15。Pillow Image:open、verify、load与解压保护;Pillow APNG帧语义;W3C PNG规范;Adobe像素与分辨率说明。官方文档描述不等于本机原软件操作实测。