如何在C#中判断JPEG图像是否是渐进式的

时间:2017-04-26 10:03:03

标签: c# .net image-processing encoding jpeg

JPEG可以用不同的方式编码;基线,进步等。

如何确定C#中是否使用了渐进式

1 个答案:

答案 0 :(得分:-1)

基于HTML版本http://techslides.com/demos/progressive-test.html,逐步编码的JPEG包含字节FFC2。

FFC2 marker显示仅在渐进式图像中出现的帧的开始。

var imageUrl = "progress.jpg";

using (var wc = new WebClient())
{
   byte[] imageBytes = wc.DownloadData(imageUrl);

   string hex = BitConverter.ToString(imageBytes.Take(500).ToArray());
   var imageAsHex = hex.Replace("-", "").ToUpper();

   Console.WriteLine("Is JPEG: " + imageAsHex.Contains("FFD8"));
   Console.WriteLine("Is Progressive: " + imageAsHex.Contains("FFC2"));
}