在报表预览和打印的时候,线条的粗细不一样(100分)

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

scloudy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在报表中放了一条线,设置其pen.width:=5,在预览的时候是一根粗线,可是打印出来的
结果却是一条很细的线,要把pen.width调整到20,才能打印出我所要的相当于宽为5的线,
可是这样的话,预览的时候就很粗了,太难看了,难道QuSoft公司没有考虑到这个问题吗?
[:(]
 
同此,但打印结果不会出现此问题!
还有,我在Win2000开发的系统在Win98下使用时字体变小或变大了,不知各位同仁是否
遇到过,有何解决方法?
 
这位仁兄,看来我们有很多相似之处,你说的这个问题,在我们公司也发现过,幸好公司
及时调整策略,不用98了,才避免这一问题,可是至于如何解决,目前还是不知道。另外,
我写信给QuSoft公司,得到的回答是:
Ido
n't know how to fix this. Strangely, no-one else
has mentioned this.
实在头疼,不知该如何是好,不知你遇到的情况是怎么样的呀,如何解决的呀?实在不行的话,
看来只能做点手脚,蒙一下客户了。
还有一个问题:就是我想不预览报表就输出成Excel格式,该怎么办呀?
 
查找一下,有好多的帖子,讲如何输出到EXCEL。有现在的代码可用的。
字体嘛,用宋体,9号字,不会在98下走样的。
 
现在我已经知道是由于打印机的分辨率不同所造成的了,例如在360×360的佳能4200SP上
能打出一个1英寸宽、2英寸高的矩形,但在600×600的惠普6L上只能打出0.6英寸宽、1.2
英寸高的矩形。可是我还没有找到解决的办法,大家帮忙想想办法呀。最好有一个Demo给
小弟参考,谢谢了!
 
打印前先检测打印机的分辨率.
然后根据分辨率动态调整shape的pen.width.
 
var
x,y:integer;
r:trect;
begin
//=========//根据打印机分辨率不同而设置打印此例是打印一个图形
x:=getdevicecaps(printer.handle,logpixelsx)div pixelsperinch;
y:=getdevicecaps(printer.handle,logpixelsy)div pixelsperinch;
r:=rect(0,0,qrdbimage1.Picture.Width*x,itlistfrm.image.picture.Height*y);
qrdbimage1.Picture.Bitmap.Canvas.StretchDraw(r,itlistfrm.image.Picture.Graphic);
 
感谢两位仁兄的提示,多谢两位的侠义帮助,小弟不胜感激,在此给两位各50大洋,同时也
感谢另两位兄弟的参与,在此也给与鼓励分。欢迎大家以后能多多探讨问题。
 
后退
顶部