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
像素矩阵为:请问哪里出问题了?请达人解决!
谢谢了!
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
像素矩阵为:请问哪里出问题了?请达人解决!
谢谢了!
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("");
}
}
}
好象应该是
Image picture = getPackage.getImage("e:\\123.jpg");