Java中如何通过BufferedImage获取目标设备的水平分辨率(BITMAPINFOHEADER中的biXPelsPerMeter)和目标设备的垂直分辨率信息?
如果BufferedImage不能获取,有什么Java的图像类可以获取这个信息?

解决方案 »

  1.   

    java.awt.DisplayModeDisplayMode 类封装 GraphicsDevice 的位深、高度、宽度和刷新率。可以通过下面的方式获取当前显示设备的 DisplayMode:GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDisplayMode();
      

  2.   

    是获得屏幕的分辨率吧,可以通过Toolkit.getScreenResolution()获得。
      

  3.   

    楼上对也~也可以这样:Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();int screenWidth = screen.width;
    int screenHeight = screen.height;
      

  4.   

    不是,是获取一个图像例如bmp图像的目标设备的水平分辨率(BITMAPINFOHEADER中的biXPelsPerMeter)和目标设备的垂直分辨率
      

  5.   

    建议你写一个动态库,用JNI调用。
      

  6.   

    可以参考一下下面这个帖子。
    http://topic.csdn.net/u/20090316/20/706b9b26-fe18-48f1-a316-d2263b404e27.html
      

  7.   

    还有一种方法就是了解一下java imageio中的处理BMP的流程,你要的信息在IIOMetadata的树型结构中,节点名为BitsPerPixel的就是。
    就是不知道API是不是公开的。
    实在不行,你把imageio的class反编译一下,以后处理BMP就用你的类就可以了。
      

  8.   

    Toolkit.getScreenResolution()获得。