DIB打印

*   /输入参数:  
    *       CDC* pDC -   指向将要接收DIB图象的设备上下文指针  
    *       CPoint origin -   显示DIB的逻辑坐标  
    *       CSize size -   显示矩形的宽度和高度  
    *  
    *   /返回值:  
    *       BOOL -   如果成功,则为TRUE,  
    *  
    *   /说明:  
    *       通过调用Win32   SDK的StretchDIBits函数将CDib对象输出到显示器(或者打印机)。  
    *       为了适合指定的矩形,位图可以进行必要的拉伸  
   
  BOOL   CDib::Draw(CDC*   pDC,   CPoint   origin,   CSize   size)  
  {  
  //   如果信息头为空,表示尚未有数据,返回FALSE  
  if(m_lpBMIH   ==   NULL)   return   FALSE;  
   
  //   如果调色板不为空,则将调色板选入设备上下文  
  if(m_hPalette   !=   NULL)   {  
  ::SelectPalette(pDC->GetSafeHdc(),   m_hPalette,   TRUE);  
  }  
   
  //   设置显示模式  
  pDC->SetStretchBltMode(COLORONCOLOR);  
   
  //   在设备的origin位置上画出大小为size的图象  
  ::StretchDIBits(pDC->GetSafeHdc(),   origin.x,   origin.y,size.cx,size.cy,  
  0,   0,   m_lpBMIH->biWidth,   m_lpBMIH->biHeight,  
  m_lpImage,   (LPBITMAPINFO)   m_lpBMIH,   DIB_RGB_COLORS,   SRCCOPY);  
   
  //   返回  
  return   TRUE;  
  }   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值