谁能告诉我?在线等待(50分)

  • 主题发起人 主题发起人 sfei222
  • 开始时间 开始时间
S

sfei222

Unregistered / Unconfirmed
GUEST, unregistred user!
printer.canvas.textout(x+100,y+100,string)
中如何取得X,Y 的初始值,X,Y是什么意思?
怎样取的打印机的分辨率?
 
x,y是画布上输出的起点位置坐标,用pen的penpos取得此点
水平分辨率:GetDeviceCaps(printer.Handle,LOGPIXELSX)
垂直分辨率:GetDeviceCaps(printer.Handle,LOGPIXELSY)
 
weekboy:能不能给我讲一下打印机的分辨率与我写的那条
语句有什么关系?能否给个例子?
 
问得不清楚!
 
说的清楚点吧,老兄
 
***打印机的分辨率与我写的那条语句有什么关系?
Printer.Canvas.Rectangle(0,0,600,600);
如果在分辨率为600*600的HP 6L上能打印出一个1英寸高1英寸宽的正方形。
如果在分辨率为300*300的打印机上则能打印出一个2英寸高2英寸宽的正方形。
明白了没有?
 
同意楼上的。
printer.canvas.textout(x+100,y+100,string)中前两个参数的单位就是点,
对于不同分辨率的打印机,上述语句执行下来打印位置是不一样的。如果我们
要做到在不同分辨率打印机上打印位置一样,就必须进行换算。总的思路就是
首先确定我们打印位置,(如厘米),在动态获得打印机分辨率DPI,就是一英寸
的点数,然后根据公英制转换得出打印位置的英寸单位,再乘上分辨率就是实
际打印机要打印的点坐标。
 
非常谢谢APPCAT,YDEJUN你们两位,根据你们所提示的答案我已经做出来
了,向你们鞠躬!!!分虽少,但。。。。。。。
 
多人接受答案了。
 

Similar threads

后退
顶部