【问题标题】:Dynamically generate valid image of a certain filesize for testing动态生成一定文件大小的有效图片进行测试
【发布时间】:2014-05-12 02:08:08
【问题描述】:

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

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

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

【问题讨论】:

  • 我不认为位图是一种有效的格式?位图具有可预测的大小 - 每像素位数乘以像素面积。
  • 遗憾的是没有——JPEG、GIF、PNG。
  • 每个像素设置为随机 RGB 值应该很难压缩。您可以生成具有尺寸的图像,检查它是否大小合适,如果不合适,请再试一次,然后在得到它后尝试验证它。
  • placekitten.complacebear.com 允许您获得特定尺寸的图像,但不能获得特定尺寸的图像。不确定这是否有帮助?

标签: python unit-testing python-imaging-library pillow


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多