获取屏幕像素
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导入。