欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在C#中優(yōu)化JPEG壓縮級(jí)別和文件大小方式

 更新時(shí)間:2025年01月07日 14:23:01   作者:坐井觀老天  
文章介紹了如何在C#中優(yōu)化JPEG壓縮級(jí)別和文件大小,通過(guò)使用文件菜單加載圖像文件并選擇不同的壓縮級(jí)別,程序?qū)D像保存為臨時(shí)文件并顯示生成的圖像和文件大小,關(guān)鍵方法SaveJpg使用給定的壓縮指數(shù)保存JPG文件,并通過(guò)GetEncoderInfo獲取編碼器信息

C#優(yōu)化JPEG壓縮級(jí)別和文件大小

此示例可讓您檢查不同 JPEG 壓縮級(jí)別的圖像質(zhì)量。

使用文件菜單的打開命令加載圖像文件。

然后使用“JPEG 壓縮指數(shù) (CI)”組合框選擇壓縮級(jí)別。

程序?qū)D像保存到具有該壓縮級(jí)別的臨時(shí)文件中,并顯示生成的圖像和文件大小。

該程序的關(guān)鍵是以下SaveJpg方法

該方法使用給定的壓縮指數(shù)保存 JPG 文件。(這是您的工具包中一個(gè)非常有用的功能。)

// Save the file with a specific compression level.
private void SaveJpg(Image image, string file_name, long compression)
{
    try
    {
        EncoderParameters encoder_params = new EncoderParameters(1);
        encoder_params.Param[0] = new EncoderParameter(
            System.Drawing.Imaging.Encoder.Quality, compression);

        ImageCodecInfo image_codec_info =
            GetEncoderInfo("image/jpeg");
        File.Delete(file_name);
        image.Save(file_name, image_codec_info, encoder_params);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error saving file '" + file_name +
            "'\nTry a different file name.\n" + ex.Message,
            "Save Error", MessageBoxButtons.OK,
            MessageBoxIcon.Error);
    }
}

此方法創(chuàng)建一個(gè)EncoderParameters對(duì)象

用于保存要發(fā)送給創(chuàng)建 JPG 文件的編碼器的信息。它填充了壓縮索引。

接下來(lái),該方法調(diào)用GetEncoderInfo函數(shù)(稍后介紹)來(lái)獲取有關(guān) JPG 文件編碼器的信息。

它刪除以前的臨時(shí)文件并使用編碼器再次保存文件。

以下代碼顯示GetEncoderInfo方法

// Return an ImageCodecInfo object for this mime type.
private ImageCodecInfo GetEncoderInfo(string mime_type)
{
    ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
    for (int i = 0; i <= encoders.Length; i++)
    {
        if (encoders[i].MimeType == mime_type) return encoders[i];
    }
    return null;
}

此代碼循環(huán)遍歷可用的編碼器,直到找到具有正確 MIME 類型的編碼器,在本例中為“image/jpeg”。

在本文頂部顯示的圖片中,壓縮級(jí)別為 30。它仍然產(chǎn)生不錯(cuò)的效果,壓縮文件的大小僅為原始文件大小的 18% 左右。結(jié)果因圖像而異。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#使用selenium實(shí)現(xiàn)爬蟲

    C#使用selenium實(shí)現(xiàn)爬蟲

    這篇文章介紹了C#使用selenium實(shí)現(xiàn)爬蟲的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#抓取網(wǎng)絡(luò)圖片保存到本地的實(shí)現(xiàn)方法

    C#抓取網(wǎng)絡(luò)圖片保存到本地的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇C#抓取網(wǎng)絡(luò)圖片保存到本地的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • WCF和Remoting之間的消息傳輸

    WCF和Remoting之間的消息傳輸

    這篇文章介紹了WCF和Remoting之間的消息傳輸,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • c# List和Dictionary常用的操作

    c# List和Dictionary常用的操作

    這篇文章主要介紹了c# List和Dictionary常用的操作,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • 淺談C#多線程簡(jiǎn)單例子講解

    淺談C#多線程簡(jiǎn)單例子講解

    本篇文章主要介紹了C#多線程簡(jiǎn)單例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • c#操作Redis的5種基本類型匯總

    c#操作Redis的5種基本類型匯總

    這篇文章主要給大家介紹了關(guān)于c#操作Redis的5種基本類型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • winform C#獲得Mac地址,IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)的實(shí)例

    winform C#獲得Mac地址,IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)的實(shí)例

    下面小編就為大家?guī)?lái)一篇winform C#獲得Mac地址,IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • C#獲取指定目錄下指定文件的方法

    C#獲取指定目錄下指定文件的方法

    這篇文章介紹了C#獲取指定目錄下指定文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Winform實(shí)現(xiàn)鼠標(biāo)可穿透的窗體鏤空效果

    Winform實(shí)現(xiàn)鼠標(biāo)可穿透的窗體鏤空效果

    這篇文章主要介紹了Winform實(shí)現(xiàn)鼠標(biāo)可穿透的窗體鏤空效果的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • C#中的應(yīng)用程序接口介紹及實(shí)現(xiàn),密封類與密封方法

    C#中的應(yīng)用程序接口介紹及實(shí)現(xiàn),密封類與密封方法

    今天小編就為大家分享一篇關(guān)于C#中的應(yīng)用程序接口介紹及實(shí)現(xiàn),密封類與密封方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10

最新評(píng)論