确定最佳图像保存格式的算法

时间:2012-09-22 14:47:28

标签: c# performance image algorithm math

我有一张可能是照片或截图的图片。我想确保以适当的格式保存图像。我在谈论jpeg和png。

如何确定将图像保存为.jpeg是否更好,因为它是/包含照片?此外,如果图片包含使用过的 Alpha通道,那么png显然是合适的。

最简单的方法是将图像以不同的图像格式保存两次到内存流中,并比较相应的数据大小。显然,这是非常耗费资源的 - 在我看来 - 并非如此。

有人有建议吗?

1 个答案:

答案 0 :(得分:4)

你可以寻找相同颜色连续跑步的出现,因为这些在照片中非常罕见。当然,对于现代UI,渐变效果使这些在屏幕截图中不常见。具有纯色区域(特别是灰色或白色)仍然是相当典型的,所以如果你想要快速的话,这是一个合理的启发式方法。您可能希望排除最大强度白色或最小强度黑色,因为过度曝光或曝光不足的照片可能包含这些颜色的大片。