Namespace:System.Drawing.Imaging
Assembly:System.Drawing.dll
初始化可包含指定数量的 EncoderParameters
对象的 EncoderParameter
类的新实例。
重载
方法名称 | 说明 |
---|---|
EncoderParameters() | 初始化可包含一个 EncoderParameters 对象的 EncoderParameter 类的新实例。 |
EncoderParameters(Int32) | 初始化可包含指定数量的 EncoderParameters 对象的 EncoderParameter 类的新实例。 |
EncoderParameters()
初始化可包含一个 EncoderParameters
对象的 EncoderParameter
类的新实例。
public EncoderParameters ();
示例
下面的代码示例演示如何创建和使用 EncoderParameters
对象。 若要运行此示例,请将代码粘贴到 Windows 窗体中,并从窗体的构造函数调用 VaryQualityLevel
方法。 此示例需要一个名为 TestPhoto.jpg
的图像文件,该文件位于c:\
。
private void VaryQualityLevel()
{
// Get a bitmap.
Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
// Create an Encoder object based on the GUID
// for the Quality parameter category.
System.Drawing.Imaging.Encoder myEncoder =
System.Drawing.Imaging.Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);
myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters);
// Save the bitmap as a JPG file with zero quality level compression.
myEncoderParameter = new EncoderParameter(myEncoder, 0L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters);
}
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
备注
某些 Save
和 SaveAdd
方法接收 EncoderParameters
对象作为参数。 GetEncoderParameterList
方法返回 EncoderParameters
对象。
EncoderParameters(Int32)
初始化可包含指定数量的 EncoderParameters
对象的 EncoderParameter
类的新实例。
public EncoderParameters (int count);
Parameters
count
Int32
一个整数,用以指定 EncoderParameter
对象可包含的 EncoderParameters
对象的数目。