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