1.FreeImage支持多种图片格式的处理,借用这一点可以做一个通用图像加载的东西
2.具体步骤如下:
(1).配置头文件和库
#include “FreeImage.h”
#pragma commet(lib,"FreeImage.lib"
(2).对相对路径的资源进行加载
FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
fif = FreeImage_GetFileType(ptrFileName);
if(fif == FIF_UNKNOWN)
{
fif = FreeImage_GetFIFFromFilename(ptrFileName);
}
if(fif != FIF_UNKNOWN && FreeImage_FIFSupportsReading(fif))
{
FIBITMAP* dib = FreeImage_Load(fif,ptrFileName,0);
return dib;
}
(3).打开图像,
图像分为两种类型,第一种:没有调色板的图像,直接使用StretchDIBit函数绘制。第二种:使用调色板,先载入调色板,然后使用StretchDIBit函数绘制。
有调色板的图像,先要创建调色板,下面就是根据FIBITMAP创建调色板的函数: