下面的示例从 BMP 文件创建 Bitmap 对象。此代码将位图保存为 3 个 JPEG 文件,每个都有不同的质量级别。
[C#]
[C#]
1
using System;
2
using System.Drawing;
3
using System.Drawing.Imaging;
4
class Example_SetJPEGQuality
5

{
6
public static void Main()
7

{
8
Bitmap myBitmap;
9
ImageCodecInfo myImageCodecInfo;
10
Encoder myEncoder;
11
EncoderParameter myEncoderParameter;
12
EncoderParameters myEncoderParameters;
13
// Create a Bitmap object based on a BMP file.
14
myBitmap = new Bitmap("Shapes.bmp");
15
// Get an ImageCodecInfo object that represents the JPEG codec.
16
myImageCodecInfo = GetEncoderInfo("image/jpeg");
17
// Create an Encoder object based on the GUID
18
// for the Quality parameter category.
19
myEncoder = Encoder.Quality;
20
// Create an EncoderParameters object.
21
// An EncoderParameters object has an array of EncoderParameter
22
// objects. In this case, there is only one
23
// EncoderParameter object in the array.
24
myEncoderParameters = new EncoderParameters(1);
25
// Save the bitmap as a JPEG file with quality level 25.
26
myEncoderParameter = new EncoderParameter(myEncoder, 25L);
27
myEncoderParameters.Param[0] = myEncoderParameter;
28
myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
29
// Save the bitmap as a JPEG file with quality level 50.
30
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
31
myEncoderParameters.Param[0] = myEncoderParameter;
32
myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);
33
// Save the bitmap as a JPEG file with quality level 75.
34
myEncoderParameter = new EncoderParameter(myEncoder, 75L);
35
myEncoderParameters.Param[0] = myEncoderParameter;
36
myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);
37
}
38
private static ImageCodecInfo GetEncoderInfo(String mimeType)
39

{
40
int j;
41
ImageCodecInfo[] encoders;
42
encoders = ImageCodecInfo.GetImageEncoders();
43
for(j = 0; j < encoders.Length; ++j)
44

{
45
if(encoders[j].MimeType == mimeType)
46
return encoders[j];
47
}
48
return null;
49
}
50
}
51
52

2

3

4

5



6

7



8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39



40

41

42

43

44



45

46

47

48

49

50

51

52

来源:https://www.cnblogs.com/niuniu502/archive/2006/09/14/503812.html