C#高速生成缩略图算法
时间: 2024-12-23 07:19:57 浏览: 6
在C#中,生成缩略图通常可以使用System.Drawing命名空间下的Image类及其相关方法,特别是ThumbnailImage类。以下是一个简单的步骤概述:
1. 引入所需命名空间:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
```
2. 定义函数,传入原图路径和缩略图大小:
```csharp
public Bitmap GenerateThumbnail(string sourceImageFilePath, Size thumbnailSize)
{
// 加载原始图像
using (var originalImage = Image.FromFile(sourceImageFilePath))
{
// 创建一个新的位图用于存储缩略图
var thumbnailBitmap = new Bitmap(thumbnailSize.Width, thumbnailSize.Height);
// 使用Graphics对象创建缩略图并保存到新的位图上
using (var graphics = Graphics.FromImage(thumbnailBitmap))
{
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; // 提高图片质量
graphics.DrawImage(originalImage, 0, 0, thumbnailSize.Width, thumbnailSize.Height);
}
return thumbnailBitmap;
}
}
```
3. 调用该函数生成缩略图:
```csharp
string sourcePath = "path_to_your_image.jpg";
Size thumbSize = new Size(100, 100); // 指定缩略图宽度和高度
Bitmap thumbnail = GenerateThumbnail(sourcePath, thumbSize);
// 然后你可以将生成的缩略图保存、显示或进一步操作
```
阅读全文