问题描述
我在内存中花了图片写了文字发到office2003的虚拟打印机就是对的,但是直接发到打印机打印就什么也打不出来,只有几个很小的点点,是什么原因呢?
解决方案
解决方案二:
绘图比例???
解决方案三:
怎么个弄法?代码是这样的:BITMAPBmp;HBITMAPm_bitmapCode=(HBITMAP)LoadImage(AfxGetInstanceHandle(),"c:\2dcode.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);//HBITMAPhbitmap=(HBITMAP)LoadImage(0,strFileName,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);CBitmapcodebmp,backbmp;codebmp.Attach(m_bitmapCode);//载入条码图片codebmp.GetBitmap(&Bmp);codebmpx=Bmp.bmWidth;codebmpy=Bmp.bmHeight;//得到条码图片的大小backbmp.LoadBitmap(IDB_TIME);//载入次票模版CStringissue_time,selltime;GetDlgItem(IDC_EDIT_ISSUE_TIME)->GetWindowText(issue_time);selltime.Format("售票时间:%s",issue_time);backbmp.GetBitmap(&Bmp);backbmpx=Bmp.bmWidth;backbmpy=Bmp.bmHeight;//得到内存中图片的大小backDC.SelectObject(&backbmp);//整个模版图片codeDC.SelectObject(&codebmp);//二维条码CRectrecttime(290,420,0,0);DrawText(&backDC,40,recttime,selltime,RGB(255,255,255),RGB(0,0,0));//在背景图片上写文字(售票日期)backDC.StretchBlt(250,2250,400,400*codebmpy/codebmpx,&codeDC,0,0,codebmpx,codebmpy,SRCCOPY);//打印二维条码到背景图片固定宽SetStretchBltMode(pDC->m_hDC,COLORONCOLOR);pDC->StretchBlt((DWORD)outRect.left,(DWORD)outRect.top,(DWORD)outRect.Width(),(DWORD)outRect.Height(),&backDC,0,0,backbmpx,backbmpy,SRCCOPY);
解决方案四:
打印机上一个点很小的,打印机600dpi1200dpi2400dpi等,一英寸对应这么多点呢
解决方案五:
而显示器17英寸的对角线一般才相当于1000-----2000点