如何从CImageList中提取图像并将其另存为透明GIF文件

时间:2008-11-10 02:21:02

标签: c++ gdi+

我想从CImageList中提取图像并将它们保存为透明的GIF文件。我正在使用以下GDI +代码,透明区域显示为黑色。

const HICON hIcon = myImageList.ExtractIcon( nImage );    
Bitmap* gdiBMP = Bitmap::FromHICON( hIcon );    
CLSID   encoderClsid;    
GetEncoderClsid( T2W( "image/gif" ), &encoderClsid );    
Status stat = gdiBMP->Save( L"myfilename.gif", &encoderClsid, NULL );    
delete gdiBMP;

我假设我需要在gif文件中明确设置透明图像。或者使用Bitmap。我找到了一些与此相关的.Net文章,但对于这个特定的项目,我使用的是VC6。

谷歌无济于事。欢迎任何/所有建议。

内维尔弗兰克斯,www.surfulater.com

1 个答案:

答案 0 :(得分:1)

这似乎并不像选择透明色那么容易。我找到了这个 here 的教程(编辑:原始链接死了,link from wayback machine)。它适用于C#,但我想它可以轻松移植。