1、
在使用FreeImage库函数的文件中包含FreeImage库的头文件
#include "FreeImage.h"2、
要使用FreeImage库的函数必须先调用函数FreeImage_Initialise进行初始化
3、
现在就可以开始使用FreeImage库的函数所有函数
4、
在使用完FreeImage库的函数后必须调用函数FreeImage_DeInitialise撤消对FreeImage的初始化
5、
例子如下test.c:
#include <stdio.h>
#include <math.h>
#include <assert.h>
#include <sys/stat.h>
#include <stdlib.h>
#include "FreeImage.h"
// test functions
int main( int argc , char *argv)
{
#if defined(FREEIMAGE_LIB) || !defined(WIN32)
FreeImage_Initialise();
#endif
FIBITMAP *c_bitmap = NULL ;
FIBITMAP *bitmap = FreeImage_Load( FIF_PNG , "test.png" , PNG_DEFAULT );
if( bitmap )
{
c_bitmap = FreeImage_ColorQuantize( bitmap ,FIQ_NNQUANT);
if( c_bitmap )
{
if( FreeImage_Save( FIF_BMP , c_bitmap , "test.jpg" , 0 ) )
{
printf("Save success!/n");
}
else
printf("Save failed!/n");
}
else
printf("Convet failed!/n");
FreeImage_Unload( bitmap);
}
else
printf("Load failed!/n");
#if defined(FREEIMAGE_LIB) || !defined(WIN32)
FreeImage_DeInitialise();
#endif
return 1 ;
}6.如何编译
g++ I(Dist文件夹的路径) test.c (libfreeimageplus.a的路径) –o test
本文介绍了如何使用FreeImage库加载、处理并保存图像文件。包括必要的初始化与反初始化步骤、加载图片、颜色量化处理及保存为其他格式。此外还提供了完整的示例代码。
702

被折叠的 条评论
为什么被折叠?



