c# jpg 省内存读取图片宽度高度分辨率
时间: 2023-08-20 16:43:48 浏览: 43
你可以使用 C# 中的 `System.Drawing` 命名空间来读取图片的宽度、高度和分辨率,以下是一个示例代码:
```csharp
using System.Drawing;
// 读取图片
Image image = Image.FromFile("image.jpg");
// 获取宽度和高度
int width = image.Width;
int height = image.Height;
// 获取分辨率
float dpiX = image.HorizontalResolution;
float dpiY = image.VerticalResolution;
```
注意:`Image.FromFile` 方法会将整张图片读入内存中,如果图片过大可能会导致内存溢出,你可以使用 `Image.FromStream` 方法来避免这个问题。
相关问题
c# 读取jpg宽度高度分辨率
你可以使用C#的System.Drawing命名空间下的Image类读取JPG文件的宽度、高度和分辨率。下面是一个示例代码:
```csharp
using System.Drawing;
// 读取JPG文件
Image image = Image.FromFile("example.jpg");
// 获取宽度和高度
int width = image.Width;
int height = image.Height;
// 获取水平和垂直分辨率
float horizontalResolution = image.HorizontalResolution;
float verticalResolution = image.VerticalResolution;
```
注意,在使用完Image对象后,应该调用其Dispose方法释放资源。
c#读取 jpg 头文件中 宽度 高度 分辨率 示例
读取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文件的头部并没有存储宽度、高度和分辨率等信息,那么这种方法就无法获取这些信息。