简单问题:如何获取显示器水平方向的每英寸点数(Pixels Per Inch, PPI)?谢谢!(20分)

  • 主题发起人 主题发起人 徐凤华
  • 开始时间 开始时间

徐凤华

Unregistered / Unconfirmed
GUEST, unregistred user!
我从Screen.PixelsPerInch中只能获得垂直方向的每英寸点数,请教各位高手,如何获取
水平方向的每英寸点数?
我只有20分了,谢谢!
 
搜索以前的帖子,记得有过讨论的;
看看DELPHI的帮助,里面有这么一句 :
Most screens have a different scaling factor for horizontal measurements.

水平方向的每英寸象素点数应该是由你的PC显示器决定的;
设备分辨率(Device Resolution),又称输出分辨率,
指的是各类输出设备每英寸上可产生的点数,
如显示器、喷墨打印机、激光打印机、热式打印机、绘图仪分辨率。
这种分辨率通过DPI(Dot Per Inch)这个单位来衡量。
一般来讲,PC显示器的设备分辨率在60~120DPI之间,
而打印机的设备分辨率则在180~720DPI之间,数值越高,效果越好。
 
显示器不是打印机,不能用每英寸点数,因为显示器有新有旧,尺寸有大有小,分辨率
设的也可能不一样。。。。。。
你要做什么?说具体一点吧
 
To Sw:
我想制作一个打印预览窗体。在显示器上显示的页面大小为了和实际太小一致,必须获取
水平方向和垂直方向的每英寸点数,然后通过计算,得出所要绘制页面的Width和Height
值(用象素为单位)。
 
to 徐凤华:
我帮你找到了这个帖子,http://www.delphibbs.com/delphibbs/dispq.asp?LID=502024,可能就是
你要的。
不过,我还是怀疑“在显示器上显示的页面大小为了和实际太小一致”,这有必要吗?
 
虽然没有解决问题,可是还是要谢谢卷起千堆雪tyn和sw,我最后写的打印预览假定
水平方向和垂直方向的PixelsPerInch均为Screen.PixelsPerInch.从最后显示的效果来
看,虽然无法做到与实际纸张一模一样,但效果已经可以让人接受了。
但是同时,又出现了一个我无法解决的新问题,因此再次向两位高手求救。问题很简单,
我使用了CopyRect来实现两个MetafileCanvas的Copy操作,但是该操作在执行时既不报错,
也不会将所需要的内容Copy到另一个Metafile中,请问各位高手有何解决办法?
该问题的分请到http://www.delphibbs.com/delphibbs/dispq.asp?lid=965044
去拿。谢谢!

var
Metafile1, Metafile2: TMetafile;
MetafileCanvas1, Metafile2Canvas: TMetafileCanvas;
begin
Metafile1 := TMetafile.Create;
Metafile1.Width :=100;
Metafile1.Height := 100;
MetafileCanvas1 := TMetafileCanvas.Create(Metafile1, 0);
MetafileCanvas1.Brush.Color := clWhite;
MetafileCanvas1.FillRect(MetafileCanvas1.ClipRect);
MetafileCanvas1.TextOut(0,0,'daif;ajdkfai');

Metafile2 := TMetafile.Create;
Metafile2.Width := 100;
Metafile2.Height := 100;
Metafile2Canvas := TMetafileCanvas.Create(Metafile2, 0);
Metafile2Canvas.CopyRect(Metafile2Canvas.ClipRect, MetafileCanvas1, MetafileCanvas1.ClipRect);
Metafile2Canvas.Free;
MetafileCanvas1.Free;
Image1.Canvas.StretchDraw(Image1.Canvas.ClipRect, Metafile2);
end;
 
不好意思,刚才忘了发分了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部