获取图片、屏幕像素并纠正bufferedimage导入失败的问题Ps:手机端android的图片和屏幕像素获取正确方式

来源:互联网 发布:mac版我的世界存档 编辑:程序博客网 时间:2024/06/05 17:36

获取屏幕像素

import java.awt.*;

public class GetScreenSize
{
    public static void main(String[] str)
    {
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        Dimension scrnsize = toolkit.getScreenSize();
        System.out.println ("Screen size : " + scrnsize.width + " * " + scrnsize.height);
    }

}

获取图片像素

import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

public class Test {
public static void main(String args[]) {

File file = new File("a.bmp");
BufferedImage bi = null;
try {
bi = ImageIO.read(file);
} catch (Exception e) {
e.printStackTrace();
}

int width = bi.getWidth(); // 像素
int height = bi.getHeight(); // 像素
System.out.println("width=" + width + ",height=" + height + ".");

}

}

butteredimage导入失败:The import java.awt.image cannot be resolved

原因:原来使用JDK和现在使用的JDK不同造成的buildpath不对

解决方法:

1、右键项目-------buildpath--------最下面那个configura;

2、选择libraries找到JRE;

3、选中remove掉,重新为该项目选择一个JRE;

4、project----clean,全部的包都找到了。


手机端android的图片和屏幕像素获取正确方式:

// 通过WindowManager获取

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

System.out.println("heigth : " + dm.heightPixels);

System.out.println("width : " + dm.widthPixels);

// 通过Resources获取

DisplayMetrics dm2 = getResources().getDisplayMetrics();

System.out.println("heigth2 : " + dm2.heightPixels);

System.out.println("width2 : " + dm2.widthPixels);

// 获取屏幕的默认分辨率

Display display = getWindowManager().getDefaultDisplay();

System.out.println("width-display :" + display.getWidth());

System.out.println("heigth-display :" + display.getHeight());

 

可以看到,第一、第三种方法都用到了getWindowManager()这个方法,而第二种方法没有用getWindowManager()。有些网友说书写getWindowManager()后eclipse会报错,说没有getWindowManager()这个方法,这是什么原因呢?因为getWindowManager()这个方法是在类Activity中的,如果你自己编写的类不是继承于类Activity,那么必然在这个类中书写代码就不能用到getWindowManager()这个方法。所以当你自己编写的类不是继承于类Activity,那么就只能应用第二种方法获取手机屏幕的大小。

获取图片分辨率:

手机端,暂时找到的可用方式为用bitmap导入。


0 0