您的位置:首页 > 运维架构

CxImage与OpenGL结合,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像文件

2012-12-06 11:14 381 查看
关于CxImage的文章,网上有许多,这里只介绍如何把CxImage与OpenGL结合起来,用于读入多种格式的纹理以及用来把屏幕保存为各种格式的图像件。

支持的格式有:BMP,GIF,ICO,JP2,FPC,FPG,PCX,PNG,PNM,RAS,TGA,TIF等等。

支持读入透明纹理。

CxImage官方网站:http://www.xdp.it/

//使用CxImage来为OpenGL读入多种格式的纹理

//CxImage是一个开源的图片处理函数库,支持的文件格式有:

//CXIMAGE_FORMAT_BMP

//CXIMAGE_FORMAT_GIF

//CXIMAGE_FORMAT_ICO

//CXIMAGE_FORMAT_JP2

//CXIMAGE_FORMAT_JPC

//CXIMAGE_FORMAT_JPG

//CXIMAGE_FORMAT_PCX

//CXIMAGE_FORMAT_PGX

//CXIMAGE_FORMAT_PNG

//CXIMAGE_FORMAT_PNM

//CXIMAGE_FORMAT_RAS

//CXIMAGE_FORMAT_TGA

//CXIMAGE_FORMAT_TIF

//CXIMAGE_FORMAT_UNKNOWN

//CXIMAGE_FORMAT_WBMP

//CXIMAGE_FORMAT_WMF

//们知道OpenGL自带有读取图形文件作纹理的函数,但功能很弱,只支持BMP图片

//如果要读取其它格式的纹理,就需要用到第三方函数库了。这里我们介绍CxImage

//CxImage下载:www.xdp.it

//以下代码是用来读取JPG文件的,紧供参考。

//读入纹理,支持读入一个alpha纹理,alpha纹理的大小必须与原图一至。

//LoadTexture("pic.jpg",NULL,resultID); //读入单个JPG图片作纹理

//LoadTexture("pic.jpg","pic_alpha.jpg",resultID); //读入一个纹理图,及一个用于透明过滤的alpha图

//LoadTexture("pic.png",NULL,resultID) //读入一个自身带有透明信息的图片作纹理。

bool CCxImage_GLView::LoadTexture(const char *tex_name, const char *alpha_name, unsigned int &texID)

//用来保存屏幕到图像文件。

void CCxImage_GLView::OnSaveScene()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐