当前位置: 首页 > 工具软件 > Dib Utils​ > 使用案例 >

DIB打印

强硕
2023-12-01
*   /输入参数:  
    *       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;  
  }   
 类似资料: