引擎开发三: FreeImage库及使用

  FreeImage 是一款免费的、开源的、跨平台(Windows 、Linux 和Mac OS X )的,支持20 多种图像类型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)图像处理库。

安装及使用

环境:win7 VS2015

1. 下载FreeImage :

地址:https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
在这里现在最新版本目前(2020.4.27)是3.18.0版本。
引擎开发三: FreeImage库及使用_第1张图片
引擎开发三: FreeImage库及使用_第2张图片
  下载的FreeImage库中有VS2013 和VS2017两个项目工程,因为我使用的是VS2015,所以选择VS2017工程打开,并调整工程中所有项目平台工具集为Visual Studio 2015(V140),然后编译FreeImage项目生成dll库,文件FreeImaged.dll、FreeImaged.lib。(文件名后面的d代表debug意思,我项目为了调试开发期间都是debug版本,所以库也生成debug版本,你可以按照自己喜好改成release版)

引擎开发三: FreeImage库及使用_第3张图片

2. opengl项目配置:

a. 项目属性 ----> C/C++ —> 附加包含目录 —> your_path\FreeImage\Source
b. 项目属性 ----> 链接器 —> 常规 —> 附加库目录 —> your_path\lib
c. 项目属性 ----> 链接器 —> 输入 —> 附加依赖项 —> FreeImaged.lib

3. 代码:

这里使用freeimage加载一张图片,获取宽高,调整颜色,并保存。

#include 
#include "FreeImage.h"

int main()
{
	FreeImage_Initialise(TRUE);
	//加载图片
	FIBITMAP * JPEG = FreeImage_Load(FIF_JPEG, "../res/11.jpg", JPEG_DEFAULT);
	//获取影像的宽高,都以像素为单位
	int Width = FreeImage_GetWidth(JPEG);
	int Height = FreeImage_GetHeight(JPEG);
	std::cout << "Width: " << Width << "\nHeight: " << Height << std::endl;

	//颜色调整
	FreeImage_AdjustContrast(JPEG, 15.0);
	FreeImage_AdjustBrightness(JPEG, 20.0);

	//FreeImage_Invert(JPEG);
	if (JPEG)
	{
		FreeImage_Save(FIF_BMP, JPEG, "../res/11test.bmp", BMP_DEFAULT);
	}

	FreeImage_Unload(JPEG);
	FreeImage_DeInitialise();
	system("pause");
	return 0;
}

4.运行结果:

引擎开发三: FreeImage库及使用_第4张图片

原图:
引擎开发三: FreeImage库及使用_第5张图片

调整颜色后:
引擎开发三: FreeImage库及使用_第6张图片

你可能感兴趣的:(#,1.9,游戏引擎开发)