[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
