网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
VC下的BMP文件的显示方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
bsp( hBitmap = = NULL ) {AfxMessageBox(”Cannot form a DIBSection”)  return false }
m- pBmpFile - > ReadHuge (lpBits ,dwBitlen) 
mmhBitmap = new Cbitmap hPalette = new Cpalette 
mmhBitmap - > Attach(hBitmap)  / / 将该位图与一个CBitmap 对象联系起来
nColors = lpBitmap - > bmiHeader. biClrUsed ? lpBitmap - > bmiHeader. biClrUsed \
:1 < < lpBitmap - > bmiHeader. biBitCount 
nWidth = lpBitmap - > bmiHeader. biWidth 
nHeight = lpBitmap - > bmiHeader. biHeight 
CDC dc 
if ( nColors > 256 ) / / 颜色数> 256
  hPalette - > CreateHalftonePalette( &dc ) 
else / / 颜色数< = 256
{
  RGBQUAD 3 prgb = new RGBQUAD[ nColors ] 
  CDC memdc 
  memdc. CreateCompatibleDC( &dc) 
  memdc. SelectObject ( &mmhBitmap ) 
  : : GetDIBColorTable( memdc , 0 , nColors , prgb ) 
  UINT nsize = sizeof (LOGPAL ETTE) + (sizeof (PAL ETTEENTRY) 3 nColors) 
  LOGPAL ETTE 3 plp = (LOGPAL ETTE 3 ) new byte[ nsize ] 
 plp - > palVersion = 0x300 
  plp - > palNumEntries = nColors 
  for ( int i = 0  i < nColors i + + )   {
    plp - > palPalEntry[i ] . peRed = prgb[i ] . rgbRed 
    plp - > palPalEntry[i ] . peGreen = prgb[i ] . rgbGreen 
    plp - > palPalEntry[i ] . peBlue = prgb[i ] . rgbBlue 
    plp - > palPalEntry[i ] . peFlags = 0 
  }
  hPalette - > CreatePalette( plp ) 
  delete plp delete prgb 
}
m- pBmpFile - > Close() delete m-pBmpFile m-pBmpFile = NULL 
return TRUE;
}
void CShowBmpView : :OnDraw(CDC 3 pDC)
{
CShowBmpDoc 3 pDoc = Getdocument.nbsp() 
ASSERT-VAL ID(pDoc) 
if ( ! pDoc - > mmhBitmap) return 
CDC memdc 
memdc. CreateCompatibleDC(pDC ) 
memdc. SelectObject ( pDoc - > mmhBitmap ) 
if (pDC - > GetDeviceCaps(RASTERCAPS) & RC- PAL ETTE & & \
pDoc - > hPalette - > m- hObject ! = NULL)
{
pDC - >
  • 上一篇资讯: MSComm串口控件使用详解
  • 下一篇资讯: VC++ 的串口通讯编程
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号