VC图像打印的问题,找了一天了,各位给看看 解决了我有多少分给多少!
HBITMAP hBitmap=::LoadBitmap(AfxGetInstanceHandle(),(LPCTSTR)IDB_PAGEONE);
BITMAP bitmap;
::GetObject(hBitmap,sizeof(BITMAP),&bitmap);
double dScale=(double)m_cxWidth/bitmap.bmWidth;
int nScaledWidth=m_cxWidth;
int nScaledHeight=(int)(bitmap.bmHeight*dScale);
HDC dcMem;
dcMem=::CreateCompatibleDC(pDC->m_hDC);
HBITMAP hOldBmp=(HBITMAP)::SelectObject(dcMem,hBitmap);
int nVertCenterPos = pDC->GetDeviceCaps (VERTRES) / 2;
::StretchBlt(pDC->m_hDC,m_cxOffset/2,(4 + PRINTMARGIN)*m_cyPrinter /2,nScaledWidth+m_cxOffset,nScaledHeight+(4 + PRINTMARGIN)*m_cyPrinter,dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
这个是图像显示的过程,用预览可以看到,但是只有一打印还是空白,而且图像有个最大值 不能再大了。
BITMAP bitmap;
::GetObject(hBitmap,sizeof(BITMAP),&bitmap);
double dScale=(double)m_cxWidth/bitmap.bmWidth;
int nScaledWidth=m_cxWidth;
int nScaledHeight=(int)(bitmap.bmHeight*dScale);
HDC dcMem;
dcMem=::CreateCompatibleDC(pDC->m_hDC);
HBITMAP hOldBmp=(HBITMAP)::SelectObject(dcMem,hBitmap);
int nVertCenterPos = pDC->GetDeviceCaps (VERTRES) / 2;
::StretchBlt(pDC->m_hDC,m_cxOffset/2,(4 + PRINTMARGIN)*m_cyPrinter /2,nScaledWidth+m_cxOffset,nScaledHeight+(4 + PRINTMARGIN)*m_cyPrinter,dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
这个是图像显示的过程,用预览可以看到,但是只有一打印还是空白,而且图像有个最大值 不能再大了。
...全文
相关推荐
VC实现的虚拟打印机机
这个项目的核心功能是能够接收任何类型的文件,并将其内容转化为图像文件,这样可以避免因为格式不兼容或者保护文档内容而无法直接分享原始文件的问题。
VC虚拟打印机源码的完整实现指南
在开始编写Windows设备驱动程序之前,需要先配置好Visual C++开发环境。Visual C++是微软Visual Studio套件的一部分,它为Windows开发者提供了强大的代码编辑和调试工具。为了配置一个适合驱动开发的环境,需要进行如下步骤:安装Visual Studio:选择包含桌面开发和C++开发的Visual Studio版本,下载并安装。安装Windows Driver Kit (WDK):WDK提供了开发Windows驱动程序所需的工具和库。
VC图像处理例程
本压缩包中的"VC图像处理例程"是一组使用VC6.0编写的源代码,它为我们提供了一个了解和学习图像处理技术的实践平台。以下将对这个主题进行详细的探讨。1.
VC找图找色模块源码,已封装可以直接调用。.rar_C++找色_scientifica77_vc 找图_找色 源码_模块找色
在IT行业中,找色和找图是图像处理领域的重要组成部分,尤其在自动化测试、游戏辅助、视觉检测等应用中有着广泛的应用。这个压缩包提供的"VC找图找色模块源码,已封装可以直接调用。.
VC打印位图,VC+MapX打印地图
而VC打印位图则涉及到Windows图形设备接口(GDI)或者GDI+技术,用于将图像数据发送到打印机。首先,要实现VC+MapX打印地图,通常需要以下步骤:1.


图形处理/算法
