C#圖片壓縮代碼

來源:互聯網
上載者:User
下面的樣本從 BMP 檔案建立 Bitmap 對象。此代碼將位元影像儲存為 3 個 JPEG 檔案,每個都有不同的品質層級。
[C#]  1using System;
 2using System.Drawing;
 3using System.Drawing.Imaging;
 4class Example_SetJPEGQuality
 5{
 6public static void Main()
 7{
 8Bitmap myBitmap;
 9ImageCodecInfo myImageCodecInfo;
10Encoder myEncoder;
11EncoderParameter myEncoderParameter;
12EncoderParameters myEncoderParameters;
13// Create a Bitmap object based on a BMP file.
14myBitmap = new Bitmap("Shapes.bmp");
15// Get an ImageCodecInfo object that represents the JPEG codec.
16myImageCodecInfo = GetEncoderInfo("image/jpeg");
17// Create an Encoder object based on the GUID
18// for the Quality parameter category.
19myEncoder = 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.
24myEncoderParameters = new EncoderParameters(1);
25// Save the bitmap as a JPEG file with quality level 25.
26myEncoderParameter = new EncoderParameter(myEncoder, 25L);
27myEncoderParameters.Param[0] = myEncoderParameter;
28myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
29// Save the bitmap as a JPEG file with quality level 50.
30myEncoderParameter = new EncoderParameter(myEncoder, 50L);
31myEncoderParameters.Param[0] = myEncoderParameter;
32myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);
33// Save the bitmap as a JPEG file with quality level 75.www.elivn.com
34myEncoderParameter = new EncoderParameter(myEncoder, 75L);
35myEncoderParameters.Param[0] = myEncoderParameter;
36myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);
37}
38private static ImageCodecInfo GetEncoderInfo(String mimeType)
39{
40int j;
41ImageCodecInfo[] encoders;
42encoders = ImageCodecInfo.GetImageEncoders();
43for(j = 0; j < encoders.Length; ++j)
44{
45if(encoders[j].MimeType == mimeType)
46return encoders[j];
47}
48return null;
49}
50}
51
52

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.