在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
。