向大哥大嫂请教个问题,如何把自己画到内存的bitmap,保存到24位的bmp文件中呀。 我已经有一个算法了,可是我看了一下,不能够保存成24位的,请大哥大嫂指教。分不够,我给,我还有很多。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL CDib::Save( const char *pszFilename ){ // If we have no data, we can't save. if( m_pDib == NULL ) return( FALSE ); CFile cf; // Attempt to create the file. if( !cf.Open( pszFilename, CFile::modeCreate | CFile::modeWrite ) ) return( FALSE ); // Write the data. try{ // First, create a BITMAPFILEHEADER // with the correct data. BITMAPFILEHEADER BFH; memset( &BFH, 0, sizeof( BITMAPFILEHEADER ) ); BFH.bfType = 'MB'; BFH.bfSize = sizeof( BITMAPFILEHEADER ) + m_dwDibSize; BFH.bfOffBits = sizeof( BITMAPFILEHEADER ) + sizeof( BITMAPINFOHEADER ) + m_nPaletteEntries * sizeof( RGBQUAD ); // Write the BITMAPFILEHEADER and the // Dib data. cf.Write( &BFH, sizeof( BITMAPFILEHEADER ) ); cf.Write( m_pDib, m_dwDibSize ); } // If we get an exception, delete the exception and // return FALSE. catch( CFileException *e ){ e->Delete(); return( FALSE ); } return( TRUE );} 看一下,用VC进行屏幕截取编程 http://www.vckbase.com/document/viewdoc.asp?id=181把程序稍微改一下,就可以了 我有个疑问,如何设定它存为24位?我看 gzshd(郁闷) ( ) 没有出现,也许问得很简单请赐教! 类似问题,请关注^_^http://expert.csdn.net/Expert/topic/2164/2164082.xml?temp=.3125116 新年好! 推荐一个自己的软件< 窗体侦探 (Window Spy) > 请大家批评~~ SelectObject()的返回值类型会变? 请高手指教,急! 不小心把硬盘格式化了,怎样恢复一下? 考试问题,大家帮帮忙 编译问题 请教:密码框如何屏蔽掉“Ctrl+V”?立即结帐,谢谢! 我是学习COM的菜鸟,请大家推荐基本COM经典书,有下载地址更好 还是问一下好! 如何计算4字节的IEEE 的float opengl编程出现的连接问题,请帮忙! 如何在程序运行时动态添加资源
{ // If we have no data, we can't save.
if( m_pDib == NULL )
return( FALSE ); CFile cf; // Attempt to create the file.
if( !cf.Open( pszFilename,
CFile::modeCreate | CFile::modeWrite ) )
return( FALSE );
// Write the data.
try{ // First, create a BITMAPFILEHEADER
// with the correct data.
BITMAPFILEHEADER BFH;
memset( &BFH, 0, sizeof( BITMAPFILEHEADER ) );
BFH.bfType = 'MB';
BFH.bfSize = sizeof( BITMAPFILEHEADER ) + m_dwDibSize;
BFH.bfOffBits = sizeof( BITMAPFILEHEADER ) +
sizeof( BITMAPINFOHEADER ) +
m_nPaletteEntries * sizeof( RGBQUAD ); // Write the BITMAPFILEHEADER and the
// Dib data.
cf.Write( &BFH, sizeof( BITMAPFILEHEADER ) );
cf.Write( m_pDib, m_dwDibSize );
} // If we get an exception, delete the exception and
// return FALSE.
catch( CFileException *e ){
e->Delete();
return( FALSE );
} return( TRUE );
}
http://www.vckbase.com/document/viewdoc.asp?id=181
把程序稍微改一下,就可以了
我看 gzshd(郁闷) ( ) 没有出现,也许问得很简单
请赐教!
http://expert.csdn.net/Expert/topic/2164/2164082.xml?temp=.3125116