CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

调色板问题,一团雾水,求助

楼主Belle(不会游泳的鱼....)2001-12-27 10:59:04 在 VC/MFC / 基础类 提问

CBitmap   btmp;  
  btmp.LoadBitmap   (IDB_BITMAP6);    
  HBITMAP   hbitmap=HBITMAP(btmp   );  
  if   (!hbitmap)    
          return   ;  
  GetObject(hbitmap,sizeof(bm),(LPSTR)&bm);    
  HDIB   hDib=::DibFromBitmap   (hbitmap,BI_RGB,   0,NULL);  
  if   (!hDib)          
    return   ;  
  //测试:hDib可以显示出来(看起来正确,但是  
  lpDIB=(LPSTR   )::GlobalLock((HGLOBAL)hDib);    
  .........  
   
  //结果lpDIB里的调色板为空  
  //BITMAPINFOHEADER   里的biBitCount=32,可是应该biBitCount=8  
  //问题出在哪里,我该怎么做  
  问题点数:115、回复次数:3Top

1 楼lhuchong()回复于 2001-12-27 17:10:43 得分 115

32位24位的bmp没有调色板Top

2 楼Belle(不会游泳的鱼....)回复于 2001-12-27 20:16:49 得分 0

谢谢     lhuchong(令狐虫)   
  怎么才能够从一个CBitmap哪儿得到他的调色板呢  
  如果因为CBitmap没有没有调色板,不能得到,能不能自己做一个  
  该怎么做一个调色板呢,谁有代码提拔以下,谢谢!!!Top

3 楼Belle(不会游泳的鱼....)回复于 2001-12-31 17:33:19 得分 0

过年了,结帐  
  答案还是该帖出来的  
  //创建调色板  
   
    CPalette*   pPal;  
    LPLOGPALETTE   lp;  
    HANDLE   hpal;  
    hpal=::GlobalAlloc   (GMEM_MOVEABLE,sizeof(LPLOGPALETTE)+256*sizeof(PALETTEENTRY));  
    lp=(LPLOGPALETTE)::GlobalLock   (hpal);  
    lp->palVersion   =0x300;  
    lp->palNumEntries   =256;  
    int   i;  
    for(i=0;i<85;i++)  
    {  
    lp->palPalEntry   [i].peRed   =0;  
            lp->palPalEntry   [i].peGreen   =0;  
    lp->palPalEntry   [i].peBlue   =0;  
    lp->palPalEntry   [i].peFlags   =0;  
    }  
    //create   85   red   blue   green   color  
    for(i=0;i<256;i++)  
    {  
              lp->palPalEntry   [i].peRed     =(BYTE)i*3;  
              lp->palPalEntry   [i].peFlags   =0;  
              lp->palPalEntry   [i+86].peBlue     =(BYTE)i*3;  
              lp->palPalEntry   [i+86].peFlags   =0;  
              lp->palPalEntry   [i+171].peGreen   =(BYTE)i*3;  
            lp->palPalEntry   [i+171].peFlags   =0  
   
    }  
  pPal=new   CPalette;  
  pPal->CreatePalette   (lp);  
  ::GlobalUnlock   (hpal);Top

相关问题

  • 如何做一个调色板?
  • 一个关于<programming windows>中16章调色板的问题
  • *****调色板******
  • 调色板
  • 为什么photoshop的调色板里只有一种颜色,急,在线
  • 急.c#中如何建立一个"调色板"类 具体问题见文.
  • 我在窗体的picture属性里放入一幅gif图片,如何得到相应的调色板数组?
  • 一个小问题,单色位图的调色板怎么做啊??急急如律令!!
  • help!!!!!!!!!!!已知一种颜色,怎么在256色调色板里找到对应的索引值?
  • 什么叫调色板?

关键词

  • 调色板
  • palpalentry
  • lp
  • peflags
  • hpal
  • lplogpalette
  • hdib
  • hbitmap
  • btmp
  • ppal

得分解答快速导航

  • 帖主:Belle
  • lhuchong

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo