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

如何把二维数组pBuffer以图像的形式快速显示出来?

楼主maibishinian(面壁十年)2005-03-28 18:29:34 在 VC/MFC / 图形处理/算法 提问

数组维数u1,u2,用SetPiex()显示速度太慢,有什么办法可以快速显示的?最好给出源码。  
  谢谢各位大虾! 问题点数:100、回复次数:6Top

1 楼cwcsdn(nic)回复于 2005-03-28 18:40:24 得分 10

CDC::SetPixelV  
  SetPixelV   is   faster   than   SetPixel   because   it   does   not   need   to   return   the   color   value   of   the   point   actually   painted.  
  Top

2 楼maibishinian(面壁十年)回复于 2005-03-28 21:50:35 得分 0

还有没有其他的方法?比如我以者个数组构造一副虚拟的bmp图像,而后用bilblt等来显示,可行么?Top

3 楼Mackz(在相互)回复于 2005-03-29 00:31:07 得分 90

用SetDIBitsToDevice()  
  把下面例子中关于Image指针的内容换成你的数组就可以了,不过要注意:  
  作为宽度必须是扩充到4字节的倍数,也可以仍然有下面的代码,把数组内容复制到Image中去;  
  根据你的数据调节bmi.bmiHeader.biBitCount。  
   
  int   iWidth,   iHeight,   iBytesWidth;  
  iWidth   =   500;  
  iHeight   =   500;  
  float   dTemp   =   960;  
  iBytesWidth   =   (iWidth   %   4)   ?   (iWidth   /   4   +   1)   *   4   :   iWidth;  
  HANDLE   hMem   =   GlobalAlloc(GMEM_MOVEABLE,   iBytesWidth   *   iHeight   *   3);  
                  BYTE   *Image   =   (BYTE*)GlobalLock(hMem);//new   BYTE[iBytesWidth   *   iHeight   *   3];  
  //memset(Image,   100,   iBytesWidth   *   iHeight   *   3);  
  BITMAPINFO bmi;  
  ZeroMemory(&bmi,   sizeof(BITMAPINFO));  
  bmi.bmiHeader.biSize   =   sizeof(BITMAPINFOHEADER);  
  bmi.bmiHeader.biWidth   =   iWidth;  
  bmi.bmiHeader.biHeight   =   iHeight;  
  bmi.bmiHeader.biPlanes   =   1;  
  bmi.bmiHeader.biBitCount   =   24;  
  bmi.bmiHeader.biCompression   =   BI_RGB;  
  ::SetDIBitsToDevice(pDC->GetSafeHdc(),   0,   0,   iWidth,   iHeight,   0,   0,   0,   iHeight,   Image,   &bmi,   DIB_RGB_COLORS);  
  GlobalUnlock(hMem);  
  GlobalFree(hMem);  
  delete   []Image;  
  Top

4 楼rocklabzhang()回复于 2005-04-02 12:26:59 得分 0

markTop

5 楼DWDLL(不跟利索)回复于 2005-04-03 01:49:57 得分 0

记号Top

6 楼awperpvip(挖靠我狂晕来CSDN这么久,竟不知道原来名字可以这么长)回复于 2005-04-16 15:35:54 得分 0

remarkTop

相关问题

  • 一维图像数组转换二维图像数组的问题
  • 二维数组
  • oracle 二维数组
  • 二维数组问题
  • 二维数组的疑惑
  • 动态二维数组?
  • 关于二维数组.
  • java二维数组问题
  • 二维数组排序
  • 关于二维数组的

关键词

  • 数组
  • bmi
  • ibyteswidth
  • bmiheader
  • iheight
  • iwidth
  • hmem
  • 显示
  • image
  • byte

得分解答快速导航

  • 帖主:maibishinian
  • cwcsdn
  • Mackz

相关链接

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

广告也精彩

反馈

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