Java中,不同的屏幕分辨率下,如何获得一英寸所代表的像素的个数?请大侠赐教!

解决方案 »

  1.   

    通常你要用C写,再用JAVA的JNI来访问C程序。
      

  2.   

    java.awt.ToolkitToolkit.getDefaultToolkit().getScreenResolution()
      

  3.   

    AWT: Toolkit.getScreenResolution();Java 2D: DeviceConfiguration.getScreenResulusion();SWT: Display.getDPI();
      

  4.   

    谢谢大家的答复!下面是我的看法,请大家讨论。
    AWT: Toolkit.getScreenResolution();
    Java 2D: DeviceConfiguration.getScreenResulusion();
    SWT: Display.getDPI();
    这些函数得到的都是显示器的DPI,不管是800×600还是1024×768一般情况下都是96,不随屏幕分辨率的改变而改变,所以,应该不是这么处理的。
      

  5.   

    如果每英寸就是96个像素,那么怎么解释下面的问题:
                                                   一个显示器大小是14英寸,那么在1024*768的分辨率下计算一个显示器大小a,800*600的分辨率下又计算一个大小b,a和b肯定不相等吧,可
    我的显示器还是14寸那么大呀
      

  6.   

    这个好象不容易吧比如,.28和.23的CRT显示器,在程序上甚至OS上是没有区别的,你有怎么换算呢
      

  7.   

    我也正为这个问题烦恼呢,看了看WORD,当使用75%的页面大小时,屏幕上显示的纸张大小总是和实际的纸张大小一模一样,不知道是怎么做到的,问问比尔盖糍粑
      

  8.   

    关于长度单位的问题
    PT设置的字体会随系统字体大小设置改变(并非浏览器字体大小设置哟)
    PX设置的字体会随显示分辨率改变而改变
    CSS 字体大小单位pt 与px 的不同. pt 点数(Typeface Point=1/72in) 打印的点数大小。
    px 像数(pixel) 在萤幕上显示的单位。 所以说,如果要强迫用户看到的字体大小跟设计
    者的画面一样,就一定要用px 为单位。 如果要让字体大小随着用户调整的屏幕大小变化用pt
      

  9.   

    去看看windows编程指南,有这个专题,早忘了,另外你看看桌面属性高级里,就有这个,本来就是96
      

  10.   

    GhostValley(鬼谷)说的现象不可能(我还专门看了一下,咋发现不一样呢),
    没办法,只能根据不同的显示器,不同的分辨率时来换算,没有好的处理办法
      

  11.   

    回复人: eureka0891(迷茫中...) ( ) 信誉:97  2005-10-28 09:02:00  得分: 0  检查一下,你的显示器可能是水货