如何从“保存文件”对话框获取文件扩展名?

2024-02-20

我希望能够根据保存文件对话框中输入的扩展名保存图像。我发现只需输入例如当然,“JPG”不会导致 Save 方法使用这种格式。 解析扩展名,然后使用例如切换并设置正确的格式对我来说听起来有点尴尬。或者有没有更好的办法?


你可以得到指定的文件名SaveDialog.FileName http://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.filename.aspx然后与Path.GetExtension() http://msdn.microsoft.com/en-us/library/system.io.path.getextension.aspx或类似的你可以获得string它将用作扩展。

之后您将做什么取决于您的具体应用程序设计,如果您保存的是文本文件,您也可以将其命名为 image1.png,但它仍然是一个文本文件。

如果内存中有一个图像对象,并且希望根据所选扩展名以正确的格式保存,我将使用 switch/case 并使用 Image.Save 的正确重载或参数值来处理不同的图像格式。

Example

if(DialogResult.OK == saveDialog.ShowDialog())
{
    var extension = Path.GetExtension(saveDialog.FileName);

    switch(extension.ToLower())
    {
        case ".jpg":
            // ToDo: Save as JPEG
            break;
        case ".png":
            // ToDo: Save as PNG
            break;
        default:
            throw new ArgumentOutOfRangeException(extension);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从“保存文件”对话框获取文件扩展名? 的相关文章

随机推荐