为什么同样的内容,在不同的电脑上打印的位置和字体都不一样?

yyuc20000 2006-09-04 06:04:52
我的程序
Printer()->BeginDoc();


TextOut(Printer()->Handle, 400, 450,Label1->Caption.c_str(),Label1->Caption.Length());
TextOut(Printer()->Handle, 345, 660,Label2->Caption.c_str(),Label2->Caption.Length());
TextOut(Printer()->Handle, 645, 660,Label3->Caption.c_str(),Label3->Caption.Length());
TextOut(Printer()->Handle, 650, 1280,Edit1->Text.c_str(),Edit1->Text.Length());

Printer()->NewPage();
Printer()->EndDoc();

在我的电脑上打印的位置没有问题,但在别人的机上位置就不一样了,为什么这样呢?请指教一下!
...全文
1417 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyuc20000 2006-10-02
  • 打赏
  • 举报
回复
?????
yyuc20000 2006-09-09
  • 打赏
  • 举报
回复
对于不同的打印机m_BaseX和m_BaseY应该是一样的吧?就是说在不同的打印机上
prnptr->Canvas->TextOut(m_BaseX+ ipixelPerCmX*9.35, m_BaseY+ ipixelPerCmY*1.2, "打印标题");
这一句所打印出来的位置都是相同的吧?
BenLeak 2006-09-08
  • 打赏
  • 举报
回复
分辨率就是 DPI(点每英寸),1 英寸为 2.54 厘米,所以 ipixelPerCmX 就是 1 厘米对应的象素点
BenLeak 2006-09-08
  • 打赏
  • 举报
回复
prnptr->Orientation = poPortrait; 打印纵向或者横向
9.35 与 1.2 就是位置 9.35、1.2厘米偏移
BenLeak 2006-09-05
  • 打赏
  • 举报
回复
prnptr = Printer();
// 获取分辨率
ipixelPerInchX = GetDeviceCaps(prnptr->Handle, LOGPIXELSX);
ipixelPerInchY = GetDeviceCaps(prnptr->Handle, LOGPIXELSY);
// 每厘米对应的点数
ipixelPerCmX = (int)(ipixelPerInchX / 2.54);
ipixelPerCmY = (int)(ipixelPerInchY / 2.54);
prnptr->Orientation = poPortrait;
...
prnptr->Canvas->TextOut(m_BaseX+ ipixelPerCmX*9.35, m_BaseY+ ipixelPerCmY*1.2, "打印标题");
BenLeak 2006-09-05
  • 打赏
  • 举报
回复
prnptr = Printer();
// 获取分辨率
ipixelPerInchX = GetDeviceCaps(prnptr->Handle, LOGPIXELSY);
ipixelPerInchY = GetDeviceCaps(prnptr->Handle, LOGPIXELSX);
// 每厘米对应的点数
ipixelPerCmX = (int)(ipixelPerInchX / 2.54);
ipixelPerCmY = (int)(ipixelPerInchY / 2.54);
yyuc20000 2006-09-05
  • 打赏
  • 举报
回复
TO BenLeak(摇摆人) :
prnptr->Orientation = poPortrait; 这行什么意思?还有ipixelPerCmX*9.35,ipixelPerCmY*1.2乘9.35和1.2又是什么意思呢?不太懂,请说明一下,谢谢!
yyuc20000 2006-09-04
  • 打赏
  • 举报
回复
打印的坐标位置与打印机的分辨率有什么关系?应该怎样做?希望能给出代码。谢谢!
jishiping 2006-09-04
  • 打赏
  • 举报
回复
与打印机的分辨率有关,程序需要先获得打印机的分辨率,然后再调整字体大小和打印的坐标位置。
柯本 2006-09-04
  • 打赏
  • 举报
回复
我以前碰到过,与打印驱动有关

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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