程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> C#根據大圖片生成高清縮略圖

C#根據大圖片生成高清縮略圖

編輯:更多關於編程

       C#生成高清縮略圖代碼,一個C#函數模塊,內含注釋,後附函數參數,下面來看這個C#生成縮略圖代碼:

      01public static void SetGoodImage(string fileName, string newFile, int maxHeight, int maxWidth,long qualitys)

      02{

      03 if (qualitys == 0)

      04 {

      05 qualitys = 80;

      06 }

      07 using (System.Drawing.Image img = System.Drawing.Image.FromFile(fileName))

      08 {

      09 System.Drawing.Imaging.ImageFormat

      10 thisFormat = img.RawFormat;

      11 Size newSize = NewSize(maxWidth, maxHeight, img.Width, img.Height);

      12 Bitmap outBmp = new Bitmap(newSize.Width, newSize.Height);

      13 Graphics g = Graphics.FromImage(outBmp);

      14 // 設置畫布的描繪質量

      15 g.CompositingQuality = CompositingQuality.HighQuality;

      16 g.SmoothingMode = SmoothingMode.HighQuality;

      17 g.InterpolationMode = InterpolationMode.HighQualityBicubic;

      18 g.DrawImage(img, new Rectangle(0, 0, newSize.Width, newSize.Height),

      19 0, 0, img.Width, img.Height, GraphicsUnit.Pixel);

      20 g.Dispose();

      21 // 以下代碼為保存圖片時,設置壓縮質量

      22 EncoderParameters encoderParams = new EncoderParameters();

      23 long[] quality = new long[1];

      24 quality[0] = qualitys;

      25 EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);

      26 encoderParams.Param[0] = encoderParam;

      27 //獲得包含有關內置圖像編碼解碼器的信息的ImageCodecInfo 對象.

      28 ImageCodecInfo[] arrayICI = ImageCodecInfo.GetImageEncoders();

      29 ImageCodecInfo jpegICI = null;

      30 for (int x = 0;

      31 x < arrayICI.Length;

      32 x++)

      33 {

      34 if (arrayICI[x].FormatDescription.Equals("JPEG"))

      35 {

      36 jpegICI = arrayICI[x];

      37 //設置JPEG編碼

      38 break;

      39 }

      40 }

      41 if (jpegICI != null)

      42 {

      43 outBmp.Save(newFile, jpegICI, encoderParams);

      44 }

      45 else

      46 {

      47 outBmp.Save(newFile, thisFormat);

      48 }

      49 img.Dispose();

      50 outBmp.Dispose();

      51 }

      52}

      函數參數說明:

      view sourceprint?1/// 原文件

      2/// 新文件

      3/// 最大高度

      4/// 最大寬度

      5/// 質量,如果為0,則設為80

            :更多精彩文章請關注三聯編程教程欄目。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved