在我们自己的软件中,我们支持加载不同类型的图像,包括但不限于.bmp,.gif,.tiff,.jpg和.png。
在代码中我注意到一些图像可能正在使用color indexing,但看起来我们的图像处理库之一缺少一些补丁(一次丢失)。
我想针对这些奇怪的图像格式测试我们的软件(我们正在加载.png和.jpg确定),你能推荐我一些图像,我可以下载许多不同的图像文件格式和不同的保存选项。
所以颜色索引的.png / .tiff的/ .bmp至少会包含在内。
正如@piglet建议的那样,您应该创建测试用例以确保覆盖。你可以使用像ImageMagick这样的东西,这是一个非常基本的脚本,它可以生成不同格式的一堆文件 - 当然,还有更多的文件,但你需要指定自己的测试用例。
这将创建一个测试JPEG文件:
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 test.jpg
如果您需要各种格式,这是一个脚本:
#!/bin/bash
files=(test.gif test.jpg test.bmp PNG8:testPNG8.png PNG24:testPNG24.png PNG32:testPNG32.png PNG48:testPNG48.png PNG64:testPNG64.png test.tif)
for f in "${files[@]}"; do
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 "$f"
done
这是输出文件:
-rw-r--r--@ 1 mark staff 1080138 14 Sep 09:26 test.bmp
-rw-r--r--@ 1 mark staff 109366 14 Sep 09:26 test.gif
-rw-r--r--@ 1 mark staff 24457 14 Sep 09:26 test.jpg
-rw-r--r--@ 1 mark staff 2160264 14 Sep 09:26 test.tif
-rw-r--r--@ 1 mark staff 62181 14 Sep 09:26 testPNG24.png
-rw-r--r--@ 1 mark staff 68153 14 Sep 09:26 testPNG32.png
-rw-r--r--@ 1 mark staff 545890 14 Sep 09:26 testPNG48.png
-rw-r--r--@ 1 mark staff 550337 14 Sep 09:26 testPNG64.png
-rw-r--r--@ 1 mark staff 6747 14 Sep 09:26 testPNG8.png
这里是所有测试图像一起蒙太奇:
您可能需要循环:
虽然你的问题不在话题,但我想给你一些建议。
如果有什么东西在那里,网络搜索会产生任何有用的东西,所以在这里询问并没有多大意义。
你打算做的是:我们随机收集各种格式的图像,希望你的软件能够正确处理它们。
如果您的软件出现故障,您想告诉用户什么? “抱歉,特定用例不是我在网上发现的随机图像集的一部分用于测试?”
您应该做什么:为您的软件声称支持的每种格式创建测试样本。对于每种支持的格式,请确保为格式规范的每个方面实现测试样本!
我做了一些搜索,但我没有找到任何全面的图像格式测试档案;我发现的是有限的:
我怀疑另一个要看的地方是用于开源项目的构建测试(CI测试)的测试图像:使用项目的图像(如Chromium或Firefox)或多格式图像处理库(如ImageMagick)。
图像库至少应包含的内容: