如何使用保存文件对话框保存格式化的IMages

本文关键字:格式化 IMages 保存 对话框 何使用 保存文件 | 更新日期: 2023-09-27 18:32:52

所以,我正在Windows窗体中制作一个项目,我必须在其中更改图像格式。我为此找到了不同的解决方案,例如:将 TIFF 转换为 JPG 格式
C# 将图像格式转换为 JPG。这些解决方案正在发挥作用,但它们都有一个相似之处:

image.Save(path,ImageFormat.Jpeg)

在此代码中,我将图像保存在一个目录中。 我想做的是用Savefiledialog保存此格式化的图像。但是在这种情况下,当我调用Savefiledialog时,我需要写"图像"名称和格式。如果我不编写格式,它会创建一个没有扩展名的简单文件。我想以指定的格式自动保存文件。 那么该怎么做呢?

如何使用保存文件对话框保存格式化的IMages

我会写这样简单的东西:

// might make sense to make this a property under the relevant class
Dictionary<string, ImageFormat> mapOfExtensions = 
    new Dictionary<string, ImageFormat>
    {
        {".jpg", ImageFormat.Jpeg},
        {".jpeg", ImageFormat.Jpeg},
        {".png", ImageFormat.Png}
    };
var ext = Path.GetExtension(path);
// safety check - make sure the file extension is what we expect...
if (!mapOfExtensions.Contains(ext)) 
{
    // probably would make sense to throw an error, log a message, etc.
    return;
}
image.Save(path,mapOfExtensions[ext]);