我希望能够根据保存文件对话框中输入的扩展名保存图像。我发现只需输入例如当然,“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(使用前将#替换为@)