使用 C# 語言壓縮圖片並調整大小

更新於 發佈於 閱讀時間約 2 分鐘

在開發應用程式時,經常會遇到需要調整圖片大小以節省空間或加快加載速度的情況。本教學將介紹如何使用 C# 語言來壓縮圖片並調整其大小,以便在應用程式中使用。


設定環境

確保您的開發環境中已安裝 Visual Studio 或其他 C# 開發工具。本教學將使用 Visual Studio 作為範例環境。

建立新的 C# 專案

在 Visual Studio 中建立一個新的 C# 控制台應用程式專案。

引用 System.Drawing 命名空間

在程式碼中引用 System.Drawing 命名空間,以便使用圖片處理相關的類別和方法。

using System.Drawing;
using System.Drawing.Imaging;

讀取原始圖片並設定新的大小

使用 Bitmap 類別讀取原始圖片,並根據需求設定新的寬度和高度。

Bitmap originalImage = new Bitmap("original.jpg");

int newWidth = 300;
int newHeight = (int)(originalImage.Height * ((float)newWidth / originalImage.Width));

建立新的 Bitmap 並調整大小

建立一個新的 Bitmap 物件作為調整大小後的圖片暫存,然後使用 Graphics 類別的 DrawImage 方法將原始圖片繪製到新的 Bitmap 中,同時調整大小。

Bitmap resizedImage = new Bitmap(newWidth, newHeight);

using (Graphics g = Graphics.FromImage(resizedImage))
{
g.DrawImage(originalImage, 0, 0, newWidth, newHeight);
}

儲存調整大小後的圖片

最後,使用 Save 方法將調整大小後的圖片儲存為新的檔案。

resizedImage.Save("resized.jpg", ImageFormat.Jpeg);

結語

通過這些步驟,您可以使用 C# 語言輕鬆地壓縮圖片並調整其大小。這對於開發需要處理圖片的應用程式非常有用,例如圖片上傳、圖片庫管理等。希望本教學對您有所幫助!

avatar-img
68會員
126內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
在開發 C# WinForms 應用程式時,有時我們想要以非侵入性的方式向使用者顯示訊息或通知,而不必打斷他們的工作流程。一種常見的方式是利用 Windows 的 NotifyIcon 類別,在右下角的系統通知區域顯示小圖示,並且在使用者單擊時顯示訊息氣球提示。
在這個教學中,我們將使用 C# 和 WinForms 來建立一個基本的行事曆應用。我們將使用 MonthCalendar 控制元件,這是一個方便的工具,可用於顯示和選擇日期。這篇文章介紹瞭如何建立基本的行事曆應用,以及如何設定事件處理和添加自定義功能。
在C#的視窗應用程式中,右鍵選單(Context Menu)是一個方便的使用者介面元素。當中的項目可以包含各種功能,而有時我們可能需要在使用者點擊右鍵選單中的某個項目時,取得該項目的值。以下是一個簡單的教學,教你如何在C#中實現這個功能。
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
在開發 C# WinForms 應用程式時,有時我們想要以非侵入性的方式向使用者顯示訊息或通知,而不必打斷他們的工作流程。一種常見的方式是利用 Windows 的 NotifyIcon 類別,在右下角的系統通知區域顯示小圖示,並且在使用者單擊時顯示訊息氣球提示。
在這個教學中,我們將使用 C# 和 WinForms 來建立一個基本的行事曆應用。我們將使用 MonthCalendar 控制元件,這是一個方便的工具,可用於顯示和選擇日期。這篇文章介紹瞭如何建立基本的行事曆應用,以及如何設定事件處理和添加自定義功能。
在C#的視窗應用程式中,右鍵選單(Context Menu)是一個方便的使用者介面元素。當中的項目可以包含各種功能,而有時我們可能需要在使用者點擊右鍵選單中的某個項目時,取得該項目的值。以下是一個簡單的教學,教你如何在C#中實現這個功能。
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
近年研究越來越重視多階層模型的效果量。本文將介紹三種常見的效果量概念和R語言操作,並附上佐證文獻。
Thumbnail
實務中,我們很難決定要使用哪一種多層次模型更好,這時候可以透過模型比較方式給我們有用的建議。本文章將介紹如何透過R語言,使用ranova()和anova()來比較不同的多層次模型,並提供實際範例。
Thumbnail
在使用R跑多層次模型時,有時候會遇到連續調節變項,這時候分析會和類別調節變項有所差異,本文在介紹遇到連續調節變項時,如何進行簡單斜率分析,以及如何畫交互作用圖,最後再說如何使用Johnson-Neyman法。
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
1. 使用GReaT框架進行條件生成: - Vadim Borisov在2023年發表的文章《Language Models are Realistic Tabular Data Generators》中提出了GReaT框架。GReaT代表Generation of Realistic Tabul
Thumbnail
Pic Smaller(圖小小)是一個開源的線上圖片壓縮工具,支援 JPG、JPEG、PNG、WEBP、GIF、SVG、AVIF 等格式,能夠快速批量處理多張圖片,沒有限制容量與大小,完全免費,介面簡潔且沒有廣告。
Thumbnail
C#是一種開源、跨平台、面向對象的編程語言,具有類型安全、泛型、模式匹配等特性。廣泛應用於桌面和Web應用程序、遊戲開發、移動應用、雲計算等領域。全球數十萬家公司像微軟、Unity Technologies、Stack Overflow等使用C#支持其業務。C#還提供豐富的進階學習資源和主題。
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
近年研究越來越重視多階層模型的效果量。本文將介紹三種常見的效果量概念和R語言操作,並附上佐證文獻。
Thumbnail
實務中,我們很難決定要使用哪一種多層次模型更好,這時候可以透過模型比較方式給我們有用的建議。本文章將介紹如何透過R語言,使用ranova()和anova()來比較不同的多層次模型,並提供實際範例。
Thumbnail
在使用R跑多層次模型時,有時候會遇到連續調節變項,這時候分析會和類別調節變項有所差異,本文在介紹遇到連續調節變項時,如何進行簡單斜率分析,以及如何畫交互作用圖,最後再說如何使用Johnson-Neyman法。
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
1. 使用GReaT框架進行條件生成: - Vadim Borisov在2023年發表的文章《Language Models are Realistic Tabular Data Generators》中提出了GReaT框架。GReaT代表Generation of Realistic Tabul
Thumbnail
Pic Smaller(圖小小)是一個開源的線上圖片壓縮工具,支援 JPG、JPEG、PNG、WEBP、GIF、SVG、AVIF 等格式,能夠快速批量處理多張圖片,沒有限制容量與大小,完全免費,介面簡潔且沒有廣告。
Thumbnail
C#是一種開源、跨平台、面向對象的編程語言,具有類型安全、泛型、模式匹配等特性。廣泛應用於桌面和Web應用程序、遊戲開發、移動應用、雲計算等領域。全球數十萬家公司像微軟、Unity Technologies、Stack Overflow等使用C#支持其業務。C#還提供豐富的進階學習資源和主題。