CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  图形处理/算法

打印问题,各位大虾帮忙

楼主zqone(zqone)2003-12-01 14:47:20 在 VC/MFC / 图形处理/算法 提问

我使用SDK的方法打印一些东西,同时要控制一些字符串的打印位置,但是实际输出的位置总是与我设置的坐标不一样。总是差了5毫米。向右和向下偏移了5毫米,真是见鬼了。怎么回事啊??? 问题点数:100、回复次数:9Top

1 楼mfc168(子非鱼)回复于 2003-12-01 15:08:12 得分 5

有的时候只在程序中设置是不够的,你调整一下打印机Top

2 楼bluebohe(薄荷)回复于 2003-12-01 15:27:53 得分 70

这是由打印硬裁减区决定的,每种打印机都有一个可打印区域,一般小于纸张大小,具体值可以通过GetDeviceCaps()函数得到,根据不同的打印机,不同的驱动程序,不同的纸张大小而变化,而绘图区域是以可打印区域的左上角开始的,不知你明白了没有Top

3 楼bluebohe(薄荷)回复于 2003-12-01 15:30:02 得分 0

pDC->GetDeviceCaps(VERTSIZE);  
  pDC->GetDeviceCaps(HORZSIZE);  
  Top

4 楼piero_csa(绝对不动_ALEX)回复于 2003-12-01 15:43:34 得分 5

打印文本,应该很好实现哈,网上这方面的精确定位的资料多的很哈!  
  vccodeTop

5 楼yintongshun(左岸思雨)回复于 2003-12-01 16:15:53 得分 5

转自:  
  http://expert.csdn.net/Expert/topic/2398/2398212.xml?temp=.3510706  
  发现打印预览的图形明显比屏幕显示图形小,怎么办?  
          这多半是CDC映射模式的选择引起的,缺省状态下,选择的是MM_TEXT模式,MM_TEXT以设备的像素点为单位,而不同设备的像素点的大小不同,打印机的分辨率比显示器要高很多,所以导致同样图形在打印时候变小。解决之道是统一使用其他定长的映射模式,比如MM_HIMETRIC等等(CDC::SetMapMode()改变映射模式)  
  Top

6 楼zqone(zqone)回复于 2003-12-01 16:16:59 得分 0

谢谢楼上几位兄弟,我现在用  
  offsetx_s   =   -GetDeviceCaps(hPrintDc,   PHYSICALOFFSETX);  
  offsety_s   =   -GetDeviceCaps(hPrintDc,   PHYSICALOFFSETY);  
  得到了打印区域的起始位置,然后进行了换算,情况有所好转,但是依然不如人意,x方向少1mm,y方向多1mm。急死我了!!Top

7 楼piero_csa(绝对不动_ALEX)回复于 2003-12-01 17:28:50 得分 5

已经很不错了,你看银行系统的票据打印,或者是邮局的,哪个的精确到了1mm哦?反正给我打出来的收据,发票等没有一张对了位置的!Top

8 楼lingfeng8888(棱枫)回复于 2003-12-01 17:43:04 得分 10

在你的原点位置(x=0,y=0)的地主画一个水平与垂直相交的十字线,然后与你的图型一起打出来,再用尺子到量那个十字交差的点到你的每个图型是否与你的要求相同.如果相同,说明你的程序设计已经正确了,只是在打印时纸的摆放出现偏差造成的.如果不同,说明你的程序在设计中对图形的位置定位有问题.至于精度问题,可以通过SetMapMode()完成,其中最小的精度为0.1mm.最精细的为0.01mm.Top

9 楼zqone(zqone)回复于 2003-12-02 10:35:10 得分 0

难道就不能再精确些吗?我哭啊!!Top

相关问题

  • 各位大仙!报表打印问题!
  • oki8320c打印驱动各位有吗?
  • 各位帮忙!打印的问题!!!急!!
  • 打印新手,需要各位帮忙!
  • 各位高手救命,关于打印
  • 请问各位,如何在DELPHI的报表打印中实现票据打印?
  • 请问各位?如何在打印时候使用网络打印机!
  • 怎样让打印机只打印一页?各位大哥帮忙!!!
  • 想买款喷墨打印机打印文档,各位有什么推荐?
  • 请教各位:打印数据窗口中字段换行打印问题

关键词

  • 打印
  • 图形
  • 区域
  • 模式
  • getdevicecaps
  • 打印机
  • 位置
  • mm
  • 不同
  • 程序

得分解答快速导航

  • 帖主:zqone
  • mfc168
  • bluebohe
  • piero_csa
  • yintongshun
  • piero_csa
  • lingfeng8888

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo