C# 将32位的位图转换位24位的位图,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
namespace Bmp32ToBmp24
{
class Program
{
static void Main(string[] args)
{
string fileName;
string srcPath = "";
string dstPath = "";
DateTime start = DateTime.Now;
foreach (string file in Directory.EnumerateFiles(srcPath))
{
fileName = Path.GetFileName(file);
using (Image bmp32 = Image.FromFile(file))
using (Bitmap bmp24 = new Bitmap(bmp32.Width, bmp32.Height, PixelFormat.Format24bppRgb))
using (Graphics g = Graphics.FromImage(bmp24))
{
g.DrawImage(bmp32, new Rectangle(0, 0, bmp32.Width, bmp32.Height));
bmp24.Save($"{dstPath}\\{fileName}", ImageFormat.Bmp);
}
}
DateTime end = DateTime.Now;
Console.WriteLine($"耗时:{(end - start).TotalSeconds}秒");
Console.ReadKey(false);
}
}
}