在C#中,使用System.Drawing
命名空間中的Image
類來處理圖像透明度非常簡單。以下是一個簡單的示例,說明如何加載圖像并設置其透明度:
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
static void Main()
{
// 加載圖像
using (Image image = Image.FromFile("input.png"))
{
// 創建一個新的Alpha通道,用于存儲透明度信息
Bitmap bmp = new Bitmap(image.Width, image.Height, image.RawFormat);
using (Graphics g = Graphics.FromImage(bmp))
{
// 設置圖像的透明度
float opacity = 0.5f; // 范圍從0(完全透明)到1(完全不透明)
g.CompositingMode = CompositingMode.SourceAlpha;
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
// 繪制原始圖像到新的Bitmap上,應用透明度
g.DrawImage(image, 0, 0);
// 保存帶有透明度的圖像
bmp.Save("output.png", ImageFormat.Png);
}
}
}
}
在這個示例中,我們首先加載了一個名為input.png
的圖像。然后,我們創建了一個新的Bitmap
對象,用于存儲帶有透明度信息的圖像。接下來,我們使用Graphics
對象將原始圖像繪制到新的Bitmap
上,并設置透明度。最后,我們將帶有透明度的圖像保存為output.png
。