c#保存图片的时候将图片变小,固定dpi
时间: 2024-02-09 10:08:46 浏览: 140
c#图片保存、缩放、裁剪、合成
4星 · 用户满意度95%
你可以使用C#中的System.Drawing命名空间中的类来实现图片的缩小和dpi固定。具体步骤如下:
1. 使用Bitmap类打开要缩小的图片。
2. 创建一个新的Bitmap对象,指定缩小后的大小。
3. 使用Graphics类的DrawImage方法,将原始图片绘制到新的Bitmap对象中。
4. 使用Graphics类的DpiX和DpiY属性,将dpi设置为固定值。
5. 使用ImageFormat类将新的Bitmap对象保存为图片文件。
下面是一个简单的示例代码:
```
using System.Drawing;
using System.Drawing.Imaging;
public static void SaveImage(string imagePath, int targetDpi)
{
Bitmap original = new Bitmap(imagePath);
int targetWidth = 800; // 缩小后的宽度
int targetHeight = (int)(original.Height * ((float)targetWidth / original.Width)); // 根据宽度计算高度
Bitmap resized = new Bitmap(targetWidth, targetHeight);
Graphics g = Graphics.FromImage(resized);
g.DrawImage(original, new Rectangle(0, 0, targetWidth, targetHeight));
resized.SetResolution(targetDpi, targetDpi); // 设置dpi
resized.Save("output.jpg", ImageFormat.Jpeg);
}
```
在上面的示例代码中,我们将原始图片缩小到了800像素宽度,并将dpi设置为了targetDpi。你可以根据需要修改这些参数。
阅读全文