位图打印预览正常,打印却很小

nuaa_Raikkonen 2009-03-12 01:06:28
我在OnPrint中写了如下打印位图的代码,打印预览正常,打印却很小,是不是哪里写错了,请大家帮忙看看!谢谢啦!
HBITMAP hBitmap = (HBITMAP) LoadImage(NULL, "C:\\test.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
CBitmap m_bitmap;
m_bitmap.Attach(hBitmap);
BITMAP bm;
m_bitmap.GetBitmap(&bm);
CDC dcImage;
dcImage.CreateCompatibleDC(pDC);
dcImage.SelectObject(&m_bitmap);

pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(dcImage.GetDeviceCaps(LOGPIXELSX), dcImage.GetDeviceCaps(LOGPIXELSY));
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX), pDC->GetDeviceCaps(LOGPIXELSY));
CRect rect(0, 0, bm.bmWidth, bm.bmHeight);
dcImage.DPtoLP(&rect);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcImage,0,0,SRCCOPY);
...全文
323 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个问题是实质是分率问题;
屏幕的分辨率远低于打印机;故出现这种结果;
wyjun1985 2009-03-14
  • 打赏
  • 举报
回复
http://www.bobd.cn/itschool/Program/vc/200612/itschool_13471.html
Tinary3v0 2009-03-13
  • 打赏
  • 举报
回复
GDI+绘图的时候别忘记了设定
Graphics graphics(pDC->m_hDC);
graphics.SetPageUnit( UnitPixel);
Tinary3v0 2009-03-13
  • 打赏
  • 举报
回复
void C***View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
CScrollView::OnPrepareDC(pDC, pInfo);

pDC->SetMapMode(MM_ANISOTROPIC); //转换坐标映射方式、确定窗口大小
CSize size = CSize(6000, 5000);
pDC->SetWindowExt(size);

int xLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSX); //得到实际设备每逻辑英寸的象素数量
int yLogPixPerInch = pDC->GetDeviceCaps(LOGPIXELSY);


long xExt = (long)size.cx * xLogPixPerInch/96; //得到设备坐标和逻辑坐标的比例
long yExt = (long)size.cy * yLogPixPerInch/96;
pDC->SetViewportExt((int)xExt, (int)yExt);
}

上面是我所见即所得的打印代码 看好了 代码是在OnPrepareDC里面 不是OnDraw里面 接下来就什么都不用做了 直接点击打印就行了

打印出来的东西是OnDraw里面绘制的东西

出现这样的问题主要是里面的几个函数的问题 参考:http://www.cnblogs.com/sxlfybb/archive/2006/06/13/424770.html
nuaa_Raikkonen 2009-03-12
  • 打赏
  • 举报
回复
用SetMapMode(MM_HIMETRIC);代码该如何写呢?
CodeProject-Jerry 2009-03-12
  • 打赏
  • 举报
回复
SetMapMode(MM_HIMETRIC);

19,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧