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

更新於 2024/01/31閱讀時間約 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
67會員
118內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言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
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
但考慮到小圖標的呈現時,簡單粗暴地將其放大可能會顯得過於突兀且不夠精緻。此時,我們可以為小圖標添加統一的造型和背景色,使其在視覺上更加飽滿和立體,可有效提升小圖標在界面中的存在感,還為用戶帶來極致的感官體驗。 在網頁設計中,小圖標的精細處理是提升用戶體驗和視覺美感的重要環節。當面對需要放大以適
但考慮到小圖標的呈現時,簡單粗暴地將其放大可能會顯得過於突兀且不夠精緻。此時,我們可以為小圖標添加統一的造型和背景色,使其在視覺上更加飽滿和立體,可有效提升小圖標在界面中的存在感,還為用戶帶來極致的感官體驗。 在網頁設計中,小圖標的精細處理是提升用戶體驗和視覺美感的重要環節。當面對需要放大以適
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
Thumbnail
Pic Smaller(圖小小)是一個開源的線上圖片壓縮工具,支援 JPG、JPEG、PNG、WEBP、GIF、SVG、AVIF 等格式,能夠快速批量處理多張圖片,沒有限制容量與大小,完全免費,介面簡潔且沒有廣告。
圖片大小 漂亮的圖片讓人賞心悅目,對網站美化也是一大加分項,但若是為了呈現自家商品或吸引人的圖片搭配文字,而塞進過量的圖片,導致網站本身太重跑得太慢,容易使客人失去耐性。|SEO工具 隨著時代的進步網路速度也與時俱進,但若網站本身太重,就算網路狀況再良好也無法馬上將網站載好,根據統計,大多數人的
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
但考慮到小圖標的呈現時,簡單粗暴地將其放大可能會顯得過於突兀且不夠精緻。此時,我們可以為小圖標添加統一的造型和背景色,使其在視覺上更加飽滿和立體,可有效提升小圖標在界面中的存在感,還為用戶帶來極致的感官體驗。 在網頁設計中,小圖標的精細處理是提升用戶體驗和視覺美感的重要環節。當面對需要放大以適
但考慮到小圖標的呈現時,簡單粗暴地將其放大可能會顯得過於突兀且不夠精緻。此時,我們可以為小圖標添加統一的造型和背景色,使其在視覺上更加飽滿和立體,可有效提升小圖標在界面中的存在感,還為用戶帶來極致的感官體驗。 在網頁設計中,小圖標的精細處理是提升用戶體驗和視覺美感的重要環節。當面對需要放大以適
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
Thumbnail
Pic Smaller(圖小小)是一個開源的線上圖片壓縮工具,支援 JPG、JPEG、PNG、WEBP、GIF、SVG、AVIF 等格式,能夠快速批量處理多張圖片,沒有限制容量與大小,完全免費,介面簡潔且沒有廣告。
圖片大小 漂亮的圖片讓人賞心悅目,對網站美化也是一大加分項,但若是為了呈現自家商品或吸引人的圖片搭配文字,而塞進過量的圖片,導致網站本身太重跑得太慢,容易使客人失去耐性。|SEO工具 隨著時代的進步網路速度也與時俱進,但若網站本身太重,就算網路狀況再良好也無法馬上將網站載好,根據統計,大多數人的
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。