希望打印一个jpg图,我能够得到要使用的打印机,和要打印的jpg文件的名字,
但是怎么答应出来那?
请高人指点,最好有一些可以用的代码。谢谢。

解决方案 »

  1.   

    http://smalleranimals.com/jpegfile.htm
      

  2.   

    If you can print a string and you can display a jpeg,then you can do that.
    Why not try it by youself.
      

  3.   

    HDC hDC;
    CString m_strPaper_direction ;
    m_strPaper_direction = "1"; CString m_strPaper_type;
    m_strPaper_type = "1";
    HCURSOR hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
    int m_nCount = 1;
    CString m_strAdvid;
    m_strAdvid = "beijing10001";
    CString m_strHeader ;
    m_strHeader = "LeadTools Gera Test";
    for (int i = 0; i < m_nCount; i++)

    CPrintDialog PrintDialog(FALSE);
    PrintDialog.GetDefaults();
    DEVMODE *myMode = PrintDialog.GetDevMode();  if (m_strPaper_direction == "1")
    {
    myMode->dmOrientation = DMORIENT_LANDSCAPE; 
    }
    else if (m_strPaper_direction == "2")
    {
    myMode->dmOrientation = DMORIENT_PORTRAIT;  
    } if (m_strPaper_type == "1")
    {
    myMode->dmPaperSize = DMPAPER_A4;
    }
    else if (m_strPaper_type == "2")
    {
    myMode->dmPaperSize = DMPAPER_A3;
    } CDC dc;
    dc.Attach(PrintDialog.GetPrinterDC());
    dc.ResetDC(myMode); //resets dc to new DEVMODE  DOCINFO di;
    memset( &di, 0, sizeof(DOCINFO) );
    di.cbSize = sizeof(DOCINFO); 
    di.lpszDocName = m_strAdvid;
    di.lpszOutput = (LPTSTR) NULL; 
    di.fwType = 0; 
    dc.StartDoc(&di); 
    dc.StartPage(); hDC = dc.m_hDC;
    if ( hDC == NULL )
    {
    return;
    }

    if ( m_strHeader != "" ) //打印图信息
    {
    dc.TextOut(100, 100, m_strHeader, m_strHeader.GetLength());
    }
    CBitmap bitmap;
    bitmap.Detach();                             
    Picture.Load("E:\\test.jpg");
      
    HBITMAP hbmp = (HBITMAP)Picture.GetSafeHandle();
    bitmap.Attach(hbmp);     CDC dcMem;
    dcMem.CreateCompatibleDC(&dc);              //?寶梌pDC寭梕揑??忋壓暥
    dcMem.SelectObject(&bitmap);                //彨埵??徾?擖??忋壓暥
    BITMAP BM;
    bitmap.GetBitmap( &BM );

    dc.StretchBlt (
       75,
       5,
       200,
       200,
       &dcMem,
       0,
       0,
       BM.bmWidth,
       BM.bmHeight,
       SRCCOPY 
    );
    bitmap.DeleteObject();  float pageWidth = dc.GetDeviceCaps(HORZRES) - 150;
      float pageHeight = dc.GetDeviceCaps(VERTRES) - 350;  dc.EndPage(); 
    dc.EndDoc();  
    dc.DeleteDC();
    }
    SetCursor(hCursor); // 上面是我写的打印jpg的代码,但是,字符串可以显示出来,图像没有打印出来。
    哪位高人帮我看看,哪里有有问题。
      

  4.   

    http://www.wave12.com/web/SigCon.asp?bCate=50&sCateName=%B9%A6%C4%DC%BD%E9%C9%DC&ID=173&CateName=wsReport4.5
    推荐看看这个
      

  5.   

    ShellExecute(NULL,"print","C:\\aaa.jpg",NULL,NULL,SW_HIDE);