import java.awt.*;
import java.awt.image.PixelGrabber;class Getpixel{
public static void main(String[] args) {

Toolkit getPackage = Toolkit.getDefaultToolkit();

Image picture = getPackage.getImage("e:\123.jpg");

System.out.println(picture);
int intWidth=0;
int intHeight=0;
int[] pixels = new int[intWidth * intHeight];
int[][] intPixels;
boolean p = false;

PixelGrabber pg = new PixelGrabber(picture, 0, 0, intWidth, intHeight, pixels, 0, intWidth);
System.out.println(pg);
try {
p=pg.grabPixels();
System.out.println(p);
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
e.printStackTrace();
}

System.out.println(intWidth+"\t"+intHeight);

intPixels = new int[intWidth][intHeight];

int i=0,j=0;
for(i=0;i<intWidth;i++)
for(j=0;j<intHeight;j++) {
intPixels[i][j]=pixels[i*intWidth+j];
}

System.out.println("像素矩阵为:");
for(i=0;i<intWidth;i++) {
for(j=0;j<intHeight;j++) {
System.out.print(intPixels[i][j]);
}
System.out.println();
}
}}显示结果为
sun.awt.image.ToolkitImage@16caf43
java.awt.image.PixelGrabber@66848c
false
0 0
像素矩阵为:请问哪里出问题了?请达人解决!
谢谢了!

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.image.PixelGrabber;class Getpixel{
    public static void main(String[] args) {

    Toolkit getPackage = Toolkit.getDefaultToolkit();

    MediaTracker tracker = new MediaTracker(new Canvas());
    Image image = getPackage.getImage("c:\\1.jpg");

    tracker.addImage(image,0);
    try{
    tracker.waitForID(0);
    }catch(InterruptedException e){
    e.printStackTrace();
    } int width = image.getWidth(null);
    int height = image.getHeight(null); int[] pixels = new int[width * height]; PixelGrabber pg = new PixelGrabber(image, 0, 0, width, height, pixels, 0, width);
    try {
    pg.grabPixels();
    } catch (InterruptedException e) {
    e.printStackTrace();
    } System.out.println("像素矩阵为:");
    for(int i = 0; i < height; i++){
    for(int j = 0; j < width; j++){
    System.out.print(pixels[i * width + j] + "  ");
    }
    System.out.println("");
    }
    }
    }
      

  2.   

    Image picture = getPackage.getImage("e:\123.jpg");
    好象应该是
    Image picture = getPackage.getImage("e:\\123.jpg");