动态生成一定文件大小的有效图片进行测试

eri*_*kcw 5 python unit-testing python-imaging-library pillow

我正在尝试找出一种使用 PIL/Pillow 动态生成具有特定文件大小的图像文件的方法,以便在我的单元测试中更好地执行某些代码路径。

例如,我有一些图像验证代码将文件大小限制为 100kb。我想动态生成一个 150kb 的图像以确保验证有效。它需要是一个有效的图像并且在给定的尺寸内(即 400x600)。

关于如何为图像画布添加足够的“复杂性”以进行测试的任何想法?

Hug*_*ugo 1

它必须正好是 150kb,还是刚好超过 100kb?

一种方法是创建 100% 质量的 JPEG,并将大量(随机)文本插入到所有可用的 EXIF 和 IPTC 标头中。包含大缩略图也会增大尺寸。

(就像 Bo102010 建议的那样,您还可以使用随机 RGB 值来最小化压缩。)