最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中按指定質量保存圖片的實例代碼

 更新時間:2013年12月17日 15:55:42   作者:  
這篇文章主要介紹了C#中按指定質量保存圖片的實例代碼,有需要的朋友可以參考一下

在程序中直接生產jpg圖片,質量不如原圖,是因為微軟的Image.Save方法保存到圖片壓縮質量為75,所以保存的圖片質量偏低了,要使生成的圖片質量有所提高就需要自己設定EncoderParameters類的質量參數和ImageCodecInfo類的圖片保存格式。

System.Drawing.Imaging.Encoder類來制定需要呈現的方式和各種參數,例如圖片質量參數,掃描方法參數,色度表參數,壓縮參數,顏色深度等等.到此,大家應該明白修改圖片質量的步驟和方法了.主要就是對System.Drawing.Imaging.Encoder設置,然后通過System.Drawing.Imaging.Encoder構造出來EncoderParameter類,將EncoderParameter傳遞給EncoderParameters數組,從而得到一個完全符合自己意愿的圖片!呵呵,說了一大堆.其實代碼很簡單:

先引入:using System.Drawing.Imaging;

復制代碼 代碼如下:

/// <summary>
        /// 按指定的壓縮質量及格式保存圖片(微軟的Image.Save方法保存到圖片壓縮質量為75)
        /// </summary>
        /// <param name="sourceImage">要保存的圖片的Image對象</param>
        /// <param name="savePath">圖片要保存的絕對路徑</param>
        /// <param name="imageQualityValue">圖片要保存的壓縮質量,該參數的值為1至100的整數,數值越大,保存質量越好</param>
        /// <returns>保存成功,返回true;反之,返回false</returns>
        public bool SaveImageForSpecifiedQuality(System.Drawing.Image sourceImage, string savePath, int imageQualityValue)
        {
            //以下代碼為保存圖片時,設置壓縮質量
            EncoderParameters encoderParameters = new EncoderParameters();
            EncoderParameter encoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, imageQualityValue);
            encoderParameters.Param[0] = encoderParameter;
            try
            {
                ImageCodecInfo[] ImageCodecInfoArray = ImageCodecInfo.GetImageEncoders();
                ImageCodecInfo jpegImageCodecInfo = null;
                for (int i = 0; i < ImageCodecInfoArray.Length; i++)
                {
                    if (ImageCodecInfoArray[i].FormatDescription.Equals("JPEG"))
                    {
                        jpegImageCodecInfo = ImageCodecInfoArray[i];
                        break;
                    }
                }   
                sourceImage.Save(savePath, jpegImageCodecInfo, encoderParameters);              
                return true;
            }
            catch
            {
                return false;
            }
        }

調用方法:

復制代碼 代碼如下:

System.Drawing.Image image = System.Drawing.Image.FromFile("D:\\TestImage\\0.jpg");
SaveImageForSpecifiedQuality(image, "D:\\TestImage\\1.jpg", 100, ImageFormat.Jpeg);image.Dispose();

相關文章

  • C#面向對象的23種設計模式介紹

    C#面向對象的23種設計模式介紹

    這篇文章介紹了C#面向對象的23種設計模式,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • C# 對文件與文件夾的操作包括刪除、移動與復制

    C# 對文件與文件夾的操作包括刪除、移動與復制

    在.Net中,對文件(File)和文件夾(Folder)的操作可以使用File類和Directory類,也可以使用FileInfo類和DirectoryInfo類,本文將詳細介紹,需要的朋友可以參考
    2012-11-11
  • c#入門之類型轉換詳解

    c#入門之類型轉換詳解

    這篇文章主要介紹了c#的類型轉換詳解,類型轉換分兩種形式:隱式轉換、顯示轉換,下面是詳細介紹
    2014-04-04
  • c#開發(fā)word批量轉pdf源碼分享

    c#開發(fā)word批量轉pdf源碼分享

    已經安裝有Office環(huán)境,借助一些簡單的代碼即可實現批量Word轉PDF,看下面的實例源碼吧
    2013-12-12
  • 簡單實現winform編輯器

    簡單實現winform編輯器

    這篇文章主要教大家如何簡單實現winform編輯器,功能很簡單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#實現動態(tài)數據繪圖graphic的方法示例

    C#實現動態(tài)數據繪圖graphic的方法示例

    這篇文章主要介紹了C#實現動態(tài)數據繪圖graphic的方法,結合實例形式分析了C#根據動態(tài)數據繪制2D數據表格的相關操作技巧,需要的朋友可以參考下
    2017-09-09
  • C#簡單操作MongoDB的步驟全紀錄

    C#簡單操作MongoDB的步驟全紀錄

    最近花了不少時間研究學習了MongoDB數據庫的相關知識,下面這篇文章主要給大家介紹了關于C#簡單操作MongoDB的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-09-09
  • C#中使用基數排序算法對字符串進行排序的示例

    C#中使用基數排序算法對字符串進行排序的示例

    Radix Sort基數排序是非比較型的排序算法,其時間復雜度是O(k·n),n為元素個數,為數字位數,這里我們就來看一下C#中使用基數排序算法堆字符串進行排序的示例
    2016-06-06
  • C#實現遠程關閉和重啟計算機的示例代碼

    C#實現遠程關閉和重啟計算機的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C#實現遠程關閉和重啟計算機的功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C# CultureInfo之常用InvariantCulture案例詳解

    C# CultureInfo之常用InvariantCulture案例詳解

    這篇文章主要介紹了C# CultureInfo之常用InvariantCulture案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08

最新評論

逊克县| 威信县| 高台县| 迁安市| 望奎县| 闻喜县| 兰西县| 图们市| 上思县| 思茅市| 巴东县| 哈尔滨市| 松原市| 乐安县| 蓝山县| 柳河县| 夏河县| 武威市| 麻栗坡县| 台北市| 乌恰县| 沙洋县| 香河县| 资阳市| 石楼县| 夏邑县| 肃宁县| 宁阳县| 旬邑县| 永新县| 安阳市| 华阴市| 奇台县| 和平区| 枝江市| 仁寿县| 皮山县| 滦南县| 扎赉特旗| 东明县| 从化市|