目前我有这个:

printscreen.Save(myOutputLocation + myImageName + myImageExtension, ImageFormat.Png);

但是,我想用一个字符串指定ImageFormat类属性,但无法使其工作:
string myString = textBox1.Text;
printscreen.Save(myOutputLocation + myImageName + myImageExtension, ImageFormat.myString);

最佳答案

我将使用反射编写一个方法ParseImageFormat,并将其用作

printscreen.Save(myOutputLocation + myImageName + myImageExtension,
                 ParseImageFormat(myString));

其中myString应该是MemoryBmp,Bmp,Emf,Wmf,Gif,Jpeg,Png,Tiff,Exif,Icon之一
public static ImageFormat ParseImageFormat(string str)
{
    return (ImageFormat)typeof(ImageFormat)
            .GetProperty(str, BindingFlags.Public | BindingFlags.Static | BindingFlags.IgnoreCase)
            .GetValue(null);
}

09-27 19:01