请问如何打印一个jpg图? 希望打印一个jpg图,我能够得到要使用的打印机,和要打印的jpg文件的名字,但是怎么答应出来那?请高人指点,最好有一些可以用的代码。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://smalleranimals.com/jpegfile.htm If you can print a string and you can display a jpeg,then you can do that.Why not try it by youself. 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的代码,但是,字符串可以显示出来,图像没有打印出来。哪位高人帮我看看,哪里有有问题。 http://www.wave12.com/web/SigCon.asp?bCate=50&sCateName=%B9%A6%C4%DC%BD%E9%C9%DC&ID=173&CateName=wsReport4.5推荐看看这个 ShellExecute(NULL,"print","C:\\aaa.jpg",NULL,NULL,SW_HIDE); VC++编写COM使用链表在C#调用问题 急!!访问和修改popup菜单 如何获取编辑框的最后一行 如何判断CFileDialog对象是store还是load 请教一个编译问题 一个简单的错误 取指定进程信息的问题 欢迎加入网络蜘蛛讨论群24257729 谁知道嵌入式菜单 提问:在关闭打印预览时,激发的是什么事件?如何重载? 如何存取图片到数据库中 我现在做一个高中成绩管理系统,每个学生有六次考试成绩,是分表存放,还是放在一张表里?
Why not try it by youself.
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的代码,但是,字符串可以显示出来,图像没有打印出来。
哪位高人帮我看看,哪里有有问题。
推荐看看这个