vc连接打印机,打印图片
来源:互联网 发布:清华土木工程知乎 编辑:程序博客网 时间:2024/06/11 01:30
// 打印按钮
void CDlgPrintDlg::OnPrint()
{
int err = -1;
CPrintDialog dlg(FALSE);
if (!dlg.GetDefaults())
AfxMessageBox(_T("You have no default printer!"));
else
{
// attach to the DC we were given
CDC dc;
dc.Attach(dlg.m_pd.hDC);
// for StartDoc
DOCINFO di;
ZeroMemory(&di, sizeof(di));
di.cbSize = sizeof(di);
di.fwType = 0;
di.lpszDatatype = NULL;
di.lpszDocName = "Printing";
err = StartDoc( dc, &di);
if(err <= 0)
return;
err = StartPage( dc);
if(err <= 0)
return;
dc.SetMapMode(MM_HIENGLISH);
CRect rectPrint(0, 0,
dc.GetDeviceCaps(HORZRES),//返回设备的.以毫米为单位的物理显示宽度
dc.GetDeviceCaps(VERTRES));//返回设备的.以毫米为单位的物理显示高度
dc.DPtoLP(&rectPrint);//设备物理单位转化为逻辑单位
dc.SetWindowOrg(-2150, -rectPrint.bottom);//设置原点
// Load picture
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL, "D:\\good.bmp", IMAGE_BITMAP, 0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
if(hBitmap == NULL)
{
err = GetLastError();
}
CBitmap bitmap;
bitmap.Attach(hBitmap); //关联位图对象
CDC dcimage;
err = dcimage.CreateCompatibleDC(&dc); //内存DC
if(err == 0)
return;
// dc.CreateCompatibleDC(&dcimage);
BITMAP bmp;
err = bitmap.GetBitmap(&bmp); //获取位图信息
if(err == 0)
return;
dcimage.SelectObject(&bitmap); //选取位图对象
// err = dc.BitBlt(0,0,bmp.bmWidth,bmp.bmHeight,&dcimage,0,0,SRCCOPY); //显示
err = dc.StretchBlt(/*dc.m_hDC,*/ 100, 1000,4096,4096*1.5, &dcimage, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
if(err == 0)
{
err = GetLastError();
return;
}
//end load picture
// dc.TextOut(500,500, "Printer:张世龙");
dc.EndPage(); //通知打印机驱动程序页结束
dc.EndDoc();//通知打印机驱动程序打印完毕
DeleteDC(dc.Detach());
}
}
void CDlgPrintDlg::OnPrint()
{
int err = -1;
CPrintDialog dlg(FALSE);
if (!dlg.GetDefaults())
AfxMessageBox(_T("You have no default printer!"));
else
{
// attach to the DC we were given
CDC dc;
dc.Attach(dlg.m_pd.hDC);
// for StartDoc
DOCINFO di;
ZeroMemory(&di, sizeof(di));
di.cbSize = sizeof(di);
di.fwType = 0;
di.lpszDatatype = NULL;
di.lpszDocName = "Printing";
err = StartDoc( dc, &di);
if(err <= 0)
return;
err = StartPage( dc);
if(err <= 0)
return;
dc.SetMapMode(MM_HIENGLISH);
CRect rectPrint(0, 0,
dc.GetDeviceCaps(HORZRES),//返回设备的.以毫米为单位的物理显示宽度
dc.GetDeviceCaps(VERTRES));//返回设备的.以毫米为单位的物理显示高度
dc.DPtoLP(&rectPrint);//设备物理单位转化为逻辑单位
dc.SetWindowOrg(-2150, -rectPrint.bottom);//设置原点
// Load picture
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL, "D:\\good.bmp", IMAGE_BITMAP, 0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
if(hBitmap == NULL)
{
err = GetLastError();
}
CBitmap bitmap;
bitmap.Attach(hBitmap); //关联位图对象
CDC dcimage;
err = dcimage.CreateCompatibleDC(&dc); //内存DC
if(err == 0)
return;
// dc.CreateCompatibleDC(&dcimage);
BITMAP bmp;
err = bitmap.GetBitmap(&bmp); //获取位图信息
if(err == 0)
return;
dcimage.SelectObject(&bitmap); //选取位图对象
// err = dc.BitBlt(0,0,bmp.bmWidth,bmp.bmHeight,&dcimage,0,0,SRCCOPY); //显示
err = dc.StretchBlt(/*dc.m_hDC,*/ 100, 1000,4096,4096*1.5, &dcimage, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
if(err == 0)
{
err = GetLastError();
return;
}
//end load picture
// dc.TextOut(500,500, "Printer:张世龙");
dc.EndPage(); //通知打印机驱动程序页结束
dc.EndDoc();//通知打印机驱动程序打印完毕
DeleteDC(dc.Detach());
}
}
- vc连接打印机,打印图片
- 打印控制:连接打印机
- android连接打印机打印
- 热敏打印机打印图片
- 斑马打印机打印图片
- 蓝牙连接打印机打印文字图片条形码二维码 用的是Gprinter打印机
- C# 连接打印机打印票据
- java调用打印机打印图片
- C#调用打印机,打印图片
- C#调用打印机打印图片
- Java 调用打印机打印图片
- 热敏打印机打印二维码图片
- C# 调用打印机打印图片
- 热敏打印机打印二维码图片
- 热敏打印机打印二维码图片
- 打印到TIFF, 图片打印机
- C#调用打印机,打印图片
- vc设置打印机模式并预览打印
- JS的replace方法
- 随机填充div背景色
- 如何反编译ipa文件
- 如何优化cocos2d/x程序的内存使用和程序大小
- scull设备的使用
- vc连接打印机,打印图片
- Oracle HANGANALYZE 功能诊断 DB hanging
- PHP编程学习笔记(swf文调试)
- CCD焊接
- nginx常见内部参数,错误总结
- java根据日期获得周月
- 电视机顶盒搜台原理和方法简析
- 设置阴影
- 黑马程序员_基础加强02