1. 获取图像
先使用BufferedImage 将图片读为 一个缓冲图片对象,然后用指定路径去确认图像。
如
public BufferedImage getImage(String path){
File file=new File(path);
BufferedImage img =null;
try {
img= ImageIO.read(file);
} catch (IOException e) {
e.printStackTrace();
}
return img;
}
2.获取图片像素
根据图片的高和宽来获取每一个像素点中的rgb 值, 然后用int 拆封 出 红, 绿, 蓝的值。
最终目的把原图给出存在一个二维数组中。这个 数组可以进行调试,画出不同的效果。
如
public int[][] getImageArray(BufferedImage img){
int[][] imgarr = new int[img.getWidth ()][img.getHeight ()];
for(int i = 0; i < img.getWidth (); i++){
for(int j = 0; j < img.getHeight (); j++){
int rgb = img.getRGB (i, j);
imgarr[i][j] = rgb;
}
}
return imgarr;
}
3.画出 原图
for(int i = 0; i < imgarr.length; i++){
for(int j = 0; j< imgarr[i].length; j++){
int rgb = imgarr[i][j];
Color color = new Color (rgb);
g.setColor (color);
g.fillRect (i,j+120,1,1);
}