GDI创建BMP图

原创 2015年11月20日 17:43:56

  BITMAPINFO m_bmphdr={0}; 
  DWORD dwBmpHdr = sizeof(BITMAPINFO); 
  m_bmphdr.bmiHeader.biBitCount = 24; 
  m_bmphdr.bmiHeader.biClrImportant = 0; 
  m_bmphdr.bmiHeader.biSize = dwBmpHdr; 
  m_bmphdr.bmiHeader.biSizeImage = 0; 
  m_bmphdr.bmiHeader.biWidth = nWidth; 
  
  m_bmphdr.bmiHeader.biHeight = nHeight; 
  m_bmphdr.bmiHeader.biXPelsPerMeter = 0; 
  m_bmphdr.bmiHeader.biYPelsPerMeter = 0; 
  m_bmphdr.bmiHeader.biClrUsed = 0; 
  m_bmphdr.bmiHeader.biPlanes = 1; 
  m_bmphdr.bmiHeader.biCompression = BI_RGB; 

  HDC hdc=GetDC(cdlg->m_hWnd); 
  CRect rect;
  cdlg->GetClientRect(&rect); 

  //CHANGE_ENDIAN_PIC(g_pchRgbBuf,nWidth, nHeight, 24);

  /*DrawDibDraw(mDrawDib,hdc,0,
   0,
   rect.Width(),
   rect.Height(),
   &m_bmphdr.bmiHeader, g_pchRgbBuf,0,0,nWidth,nHeight,0);*/

  SetStretchBltMode(hdc, HALFTONE);

  int nResult = StretchDIBits(hdc, 
   0,0, 
   rect.Width(),rect.Height(), 
   0, 0, 
   nWidth, nHeight, 
   g_pchRgbBuf, 
   &m_bmphdr, 
   DIB_RGB_COLORS, 
   SRCCOPY); 

  /*int nResult = SetDIBitsToDevice(hdc, 
   0,0, 
   rect.Width(),rect.Height(), 
   0, 0, 
   nWidth, nHeight, 
   g_pchRgbBuf, 
   &m_bmphdr, 
   DIB_RGB_COLORS 
   );  */
  ReleaseDC(cdlg->m_hWnd,hdc);

版权声明:本文为博主原创文章,未经博主允许不得转载。

GDI+编程小结

GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负...
  • qing666888
  • qing666888
  • 2016年04月16日 13:25
  • 1998

GDI+学习及代码总结之------文本与字体

字体、字体系列基本概念与构造 字体系列 GDI+中将具有相同字样、包括不同风格的字体称为字体系列。字体从其系列中获得名称、重量(如粗体、规则、加亮)以及风格。例如Arial字体系列包含了下列4...
  • harvic880925
  • harvic880925
  • 2013年06月14日 19:12
  • 22126

使用GDI+ 缩放图片

好久没更新了, 刚好项目用到GDI+来缩放图像,网上搜索了好多关于gdi+缩放图像的例子 ,大多都是加载文件,而我要用的是视频渲染,直接读取的rgb数据流, 废话少说 ,看代码:srcWidth,sr...
  • zhengxinwcking
  • zhengxinwcking
  • 2013年12月29日 14:39
  • 2373

GDI和GDI+的区别和联系

GDI: GDI在Windows中定义为Graphics Device Interface,即图形设备接口,是Windows API(Application Programming Interfac...
  • ghevinn
  • ghevinn
  • 2013年01月23日 15:16
  • 2006

GDI+学习及代码总结之------图像的基本处理

图像的基本操作 在GDI+中,对图像的处理主要靠两个类,Image类和Bitmap类,Bitmap类是在Image类的基础上派生出来的。这里主要讲Image类的使用,Image类支持对BMP, ...
  • harvic880925
  • harvic880925
  • 2013年06月19日 15:37
  • 18397

GDI+ 和 GDI的对比

一、GDI   GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Win...
  • chenlycly
  • chenlycly
  • 2014年04月20日 11:57
  • 1705

C#中GDI+编程10个基本技巧二

5、渐变色填充 需要使用两个刷子: 线性梯度刷子(LinearGradientBrush) 路径梯度刷子(PathGuadientBrush) private void but...
  • SunCherryDream
  • SunCherryDream
  • 2015年05月13日 16:35
  • 2782

MFC中的GDI/GDI+和双缓冲绘图

1、GDI概述   GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。         GDI使得用户无需关心具体设备的细节,...
  • KingCat666
  • KingCat666
  • 2015年03月09日 15:07
  • 2520

vs2013下配置GDI+的步骤

GDI+是Windows XP和Windows Server 2003的一个子系统,它主要用于处理系统的绘制消息。GDI+所有的功能都被封装在一组C++类中,这些类提供了统一的图形接口,让开发者能够编...
  • MyLinChi
  • MyLinChi
  • 2017年02月12日 14:57
  • 1290

最简单的视音频播放示例2:GDI播放YUV, RGB

前一篇文章对“Simplest Media Play”工程作了概括性介绍。后续几篇文章打算详细介绍每个子工程中的几种技术。在记录Direct3D,OpenGL这两种相对复杂的技术之前,打算先记录一种和...
  • leixiaohua1020
  • leixiaohua1020
  • 2014年10月20日 00:25
  • 12534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GDI创建BMP图
举报原因:
原因补充:

(最多只允许输入30个字)