你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
FreeImage的图像处理软件(六)
 

六、保存图像

1)调用FreeImage_GetFIFFromFilename函数从文件名判断期望保存的图像类型,如果不支持则返回;否则转(2)。

2)调用FreeImage_GetImageType判断当前位图数据类型,若为标准位图,则测试是否支持该种图像类型的写操作以及位深度转换,否则调用FreeImage_FIFSupportsExportType检查是否能够输出当前位图。若测试成功,则调用FreeImage_Save保存位图。

在文档类中定义成员函数SaveDIB实现上述功能,代码如下:

BOOL CDIPDOC::SaveDIB(FIBITMAP *dib, LPCTSTR *lpszPath, int flag){

FREE_IMAGE_FORMAT fif=FIF_UNKNOWN;

BOOL bSuccess = FALSE;

fif=FreeImage_GetFIFFromFilename(lpszPath);

if(fif != FIF_UNKNOWN ) {

BOOL bCanSave;

FREE_IMAGE_TYPE image_type = FreeImage_GetImageType(dib);

if(image_type == FIT_BITMAP) {

WORD bpp = FreeImage_GetBPP(dib);

bCanSave=(FreeImage_FIFSupportsWriting(fif) &&FreeImage_FIFSupportsExportBPP(fif, bpp));

}

else {

bCanSave=FreeImage_FIFSupportsExportType(fif, image_type);

}

if(bCanSave) bSuccess=

FreeImage_Save(fif,dib,lpszPath,flag);

}

return bSuccess;

}

  推荐精品文章

·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089