C#中使用FreeImage库加载Bmp、JPG、PNG、PCX、TGA、PSD等25种格式的图像(源码)。
时间: 2023-08-09 07:06:33 浏览: 282
C#对FreeImage的使用
以下是使用FreeImage库加载图像的C#源代码:
```csharp
using System;
using System.Runtime.InteropServices;
using FreeImageAPI;
class Program
{
static void Main(string[] args)
{
string imagePath = "example.png";
// 初始化FreeImage库
FreeImage.Initialize();
// 加载图像
FIBITMAP dib = FreeImage.LoadEx(imagePath);
// 获取图像信息
int width = FreeImage.GetWidth(dib);
int height = FreeImage.GetHeight(dib);
int bpp = FreeImage.GetBPP(dib);
Console.WriteLine("Image Info:");
Console.WriteLine("Width: " + width);
Console.WriteLine("Height: " + height);
Console.WriteLine("BPP: " + bpp);
// 保存图像
string outputPath = "output.png";
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_PNG, dib, outputPath, FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_COMPRESSION);
// 释放图像
FreeImage.Unload(dib);
// 卸载FreeImage库
FreeImage.DeInitialise();
}
}
```
在上面的代码中,我们使用FreeImage.LoadEx方法加载图像,该方法会自动检测图像格式并返回一个FIBITMAP对象。然后,我们可以使用FreeImage.GetWidth、FreeImage.GetHeight和FreeImage.GetBPP方法获取图像的宽度、高度和位深。最后,我们使用FreeImage.Save方法将图像保存到指定路径,并使用FreeImage.Unload方法释放FIBITMAP对象。注意,在使用FreeImage库前需要调用FreeImage.Initialize方法初始化库,在使用完毕后需要调用FreeImage.DeInitialise方法卸载库。
阅读全文