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

有关调色板

楼主csdn3141()2003-12-01 08:44:27 在 VC/MFC / 非技术类 提问

CView含一成员变量黑白两色位图m_pBitmap,现已能显示,想根据用户选择可动态调整其  
  位图前景色,背景色为其他颜色,如何通过调整调色板实现,我的代码不起作用,显示与修改前相同,为什么?  
  ondraw中的代码:  
          CDC   dcMemory;  
          dcMemory.CreateCompatibleDC(pDC);  
  CBitmap*   pOldBitmap   =   dcMemory.SelectObject(m_pBitmap);  
  CRect   rect;  
  //  
              LOGPALETTE   *   plp   ;  
              CPalette   hPalette;  
              plp=(LOGPALETTE   *)malloc(sizeof(LOGPALETTE)+256*sizeof(PALETTEENTRY))   ;  
              plp->palVersion=   0x0300;  
              plp->palNumEntries=256;  
      int   i;  
              for   (i=0;i<256;i++){        
                      plp->palPalEntry[i].peRed=(BYTE)(i);  
                      plp->palPalEntry[i].peGreen=(BYTE)(i);  
                      plp->palPalEntry[i].peBlue=(BYTE)(i);  
                      plp->palPalEntry[i].peFlags=0;  
                }  
                hPalette.CreatePalette(plp);  
                free(plp);  
        CPalette   *   pold;  
        pold=pDC.SelectPalette(&hPalette,   FALSE);  
        pDC.RealizePalette();//        
        //  
          GetClientRect(&rect);    
          pDC->BitBlt(0,0,   pDoc->m_Bmp.m_Width,pDoc->m_Bmp.m_Height,  
  &dcMemory,0,0,   SRCCOPY);  
          dcMemory.SelectObject(pOldBitmap);  
          pDC.SelectPalette(pold,FALSE); 问题点数:50、回复次数:7Top

1 楼csdn3141()回复于 2003-12-01 08:56:35 得分 0

<上面代码发帖敲错了pDC.应为pDC->,>,问题同,只是想试试调色板是否起作用?  
  请教!Top

2 楼wangzi163(甲骨文)回复于 2003-12-01 10:00:19 得分 0

需要UpdateView吧。Top

3 楼csdn3141()回复于 2003-12-01 10:27:15 得分 0

以上代码是在OnDraw中,不须UpdateView,我的这种思路是否正确?,  
  具体应如何实现呢?  
  Top

4 楼csdn3141()回复于 2003-12-01 10:49:12 得分 0

则么没人回答?,急!!!!!!!!!!!1Top

5 楼csdn3141()回复于 2003-12-01 14:31:08 得分 0

则么没人回答?,急顶  
  !!!!!!!!!!!1  
  Top

6 楼abeng_2001(风间苍月)回复于 2003-12-02 18:59:26 得分 50

你是在24位模式下调试的吗?  
  24位模式根本不用系统调色板Top

7 楼csdn3141()回复于 2003-12-03 10:22:28 得分 0

我想要做的是:要显示的:二值图像(大于屏幕),想要根据用户设置图像前景色,背景色,我的想法是:生成16色内存位图CBitmap,在选入MemDc,根据用户设置改变调色板,OnDraw中拷贝到pDC,  
  如何利用二值图像阵列生成16色CBitmap?  
  Top

相关问题

  • 有关调色板的问题
  • 有关调色板问题!!重分答谢,来者有分
  • *****调色板******
  • 调色板
  • 什么叫调色板?
  • 如何弹出调色板?
  • 调色板的处理!
  • 什么是调色板?
  • 16位图与调色板
  • 我始终搞不清“关于颜色”问题,逻辑和物理调色板,系统的颜色如何产生和究竟和哪些因素有关??

关键词

  • 代码
  • 图像
  • 用户
  • plp
  • 调色板
  • dcmemory
  • palpalentry
  • pdc
  • pold
  • logpalette

得分解答快速导航

  • 帖主:csdn3141
  • abeng_2001

相关链接

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

广告也精彩

反馈

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