C# 获取图片文件的大小
时间: 2023-08-29 10:07:54 浏览: 232
可以使用C#中的`FileInfo`类来获取图片文件的大小。下面是一个示例代码:
```
using System.IO;
// 文件路径
string filePath = "path/to/image.jpg";
// 创建 FileInfo 对象
FileInfo fileInfo = new FileInfo(filePath);
// 获取文件大小(以字节为单位)
long fileSize = fileInfo.Length;
// 输出文件大小
Console.WriteLine("文件大小为:" + fileSize + " 字节");
```
在上面的代码中,我们首先创建了一个 `FileInfo` 对象,然后通过调用 `Length` 属性获取文件大小。最后,我们将文件大小输出到控制台。
相关问题
C# 获取图片文件大小
C#获取图片文件大小的方法有多种,以下是两种常用的方法:
方法一:使用FileInfo类获取文件大小
可以使用FileInfo类的Length属性获取文件大小,然后将其转换为MB或KB等单位。示例代码如下:
```
private double GetImageSize(string path) {
FileInfo fileInfo = new FileInfo(path);
double length = Convert.ToDouble(fileInfo.Length);
double size = length / 1024 / 1024; // MB
return size;
}
```
方法二:使用Shell32获取图片大小和分辨率
可以使用Shell32库中的NameSpace和FolderItem类获取图片的大小和分辨率。示例代码如下:
```
using Shell32;
public static void GetJpgSizeByShell(string JpgPath, out Size JpgSize, out float Wpx, out float Hpx) {
var shell = new ShellClass();
Folder der = shell.NameSpace(Path.GetDirectoryName(JpgPath));
FolderItem item = der.ParseName(Path.GetFileName(JpgPath));
JpgSize = new Size(0, 0);
try {
Wpx = float.Parse(Regex.Replace(der.GetDetailsOf(item, 161), @"[^0-9]+", "")); // 水平分辨率
int w = int.Parse(Regex.Replace(der.GetDetailsOf(item, 162), @"[^0-9]+", "")); // 图片宽像素
Hpx = float.Parse(Regex.Replace(der.GetDetailsOf(item, 163), @"[^0-9]+", "")); // 垂直分辨率
int h = int.Parse(Regex.Replace(der.GetDetailsOf(item, 164), @"[^0-9]+", "")); // 图片高像素
JpgSize.Width = w;
JpgSize.Height = h;
} catch {
JpgSize = new Size(0, 0);
Wpx = 0;
Hpx = 0;
}
}
```
C#获取图片缩略图作为图标
您可以使用System.Drawing命名空间中的Image类来获取图片的缩略图,并将其作为图标使用。下面是一个示例代码:
```csharp
using System;
using System.Drawing;
class Program
{
static void Main()
{
string imagePath = "path_to_your_image.jpg"; // 替换为您的图片路径
Image image = Image.FromFile(imagePath);
// 设置缩略图的宽度和高度
int thumbnailWidth = 32;
int thumbnailHeight = 32;
Image thumbnail = image.GetThumbnailImage(thumbnailWidth, thumbnailHeight, null, IntPtr.Zero);
// 将缩略图保存为图标文件
string iconPath = "path_to_save_icon.ico"; // 替换为您希望保存图标的路径
using (var icon = Icon.FromHandle(((Bitmap)thumbnail).GetHicon()))
{
using (var fileStream = new System.IO.FileStream(iconPath, System.IO.FileMode.Create))
{
icon.Save(fileStream);
}
}
Console.WriteLine("缩略图已保存为图标文件!");
}
}
```
请确保将`path_to_your_image.jpg`替换为您实际的图片路径,并将`path_to_save_icon.ico`替换为您希望保存图标的路径。运行代码后,将会生成一个指定大小的缩略图,并将其保存为图标文件。
阅读全文