c#图像压缩到指定大小
时间: 2024-10-23 08:11:21 浏览: 40
基于C#的tcp图像传输
在 C# 中,要将图像压缩到指定大小,可以使用 System.Drawing 命名空间中的 Image 类以及其相关的处理方法。以下是一个基本步骤的示例:
1. 首先,你需要加载原始图像:
```csharp
using (Image originalImage = Image.FromFile("original_image.jpg"))
{
// ...
}
```
2. 创建一个新的 Bitmap 对象,用于存储压缩后的图片,设置宽度和高度为指定值:
```csharp
int targetWidth = 800;
int targetHeight = 600;
Bitmap compressedImage = new Bitmap(targetWidth, targetHeight);
```
3. 将原始图像转换成合适的模式(如 JPEG 或 PNG),并绘制到压缩图像上:
```csharp
Graphics graphics = Graphics.FromImage(compressedImage);
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; // 提高画质
graphics.DrawImage(originalImage, 0, 0, targetWidth, targetHeight);
```
4. 保存压缩后的图像:
```csharp
compressedImage.Save("compressed_image.jpg", ImageFormat.Jpeg); // 可选格式有:Jpeg、Png 等
```
注意,如果压缩后图片质量损失较大,可能需要调整 `InterpolationMode` 属性或其他相关设置。
阅读全文