c#读取 jpg 头文件中 宽度 高度 分辨率 示例
时间: 2023-12-14 17:28:01 浏览: 109
读取JPG的宽度、高度和分辨率可以直接通过解析JPG文件头部的信息来获取。JPG文件的头部信息通常存储在文件的前几个字节中。下面是一个示例代码:
```csharp
using System.IO;
// 打开JPG文件
FileStream stream = new FileStream("example.jpg", FileMode.Open, FileAccess.Read);
// 读取文件头部信息
byte[] buffer = new byte[32];
stream.Read(buffer, 0, buffer.Length);
// 检查文件类型是否为JPG
if (buffer[0] == 0xFF && buffer[1] == 0xD8 && buffer[2] == 0xFF && buffer[3] == 0xE0)
{
// 获取JPG的宽度和高度
int width = (buffer[7] << 8) + buffer[8];
int height = (buffer[9] << 8) + buffer[10];
// 获取JPG的水平和垂直分辨率
float horizontalResolution = (buffer[13] << 8) + buffer[14];
float verticalResolution = (buffer[15] << 8) + buffer[16];
// 输出结果
Console.WriteLine("宽度:{0}", width);
Console.WriteLine("高度:{0}", height);
Console.WriteLine("水平分辨率:{0} dpi", horizontalResolution);
Console.WriteLine("垂直分辨率:{0} dpi", verticalResolution);
}
// 关闭文件流
stream.Close();
```
需要注意的是,这种方法只能读取JPG文件头部中包含的信息,如果JPG文件的头部并没有存储宽度、高度和分辨率等信息,那么这种方法就无法获取这些信息。
阅读全文