BufferedImage _image; 
String name=".......";
 
       Image loadedImage = Toolkit.getDefaultToolkit().getImage(name);
        MediaTracker tracker = new MediaTracker(this);
        tracker.addImage(loadedImage, 0);
        try { tracker.waitForID(0); }
        catch (InterruptedException e) {}
        _image = new BufferedImage(loadedImage.getWidth(null),
           loadedImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = _image.createGraphics();然后在调用
        WritableRaster raster = _image.getRaster();
        int[] pixels = new int[3];
        raster.getPixel(x,y,pixels);
其中xy为某点的相对坐标
然后pixels中就是这个点的rgb值

解决方案 »

  1.   

    //file1
    import java.awt.image.*;public class BWFilter extends RGBImageFilter {
        public BWFilter() {
            canFilterIndexColorModel = true;
        }
        public int filterRGB(int x, int y, int rgb) {
            DirectColorModel cm = 
                (DirectColorModel)ColorModel.getRGBdefault();        int    alpha = cm.getAlpha(rgb);
            int    red   = cm.getRed  (rgb);
            int    green = cm.getGreen(rgb);
            int    blue  = cm.getBlue (rgb);
    int    mixed = (red + green + blue) / 3; red   = blue = green = mixed;
            alpha = alpha << 24;
            red   = red   << 16;
            green = green << 8;        return alpha | red | green | blue;
        }
    }//file2
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.net.URL;public class BWFilterTest extends Applet {
        private Image   im, bw;    public void init() {
    loadImage();
    filterImage();
        }
        public void paint(Graphics g) {
    int imw = im.getWidth(this); g.drawImage(im,0,0,this);
    g.drawImage(bw,imw,0,this);
        }
    private void loadImage() {
    try {
    URL url = getClass().getResource("tiger.gif");
    im = createImage((ImageProducer)url.getContent());
    }
    catch(Exception e) {
    e.printStackTrace();
    } MediaTracker mt = new MediaTracker(this);
    mt.addImage(im, 0);
    try {
    mt.waitForID(0);
    }
    catch(Exception e) {
    e.printStackTrace();
    }
    }
    private void filterImage() {
    bw = createImage(new FilteredImageSource(im.getSource(), new BWFilter()));
    //        bw = javax.swing.GrayFilter.createDisabledImage(im);
    }
    }//test.html<title>BWFilterTest</title>
    <applet code="BWFilterTest.class" width=680 height=375></applet>
      

  2.   

    真得非常感谢你,我给分。
    你能告诉我你是怎么知道这些东西的呢
    受人以鱼,不如授之以渔。
    你能告诉我学习的途径吗?还有,如果我想把每个像素点的rgb值都输出到屏幕上应该怎么做。
    你给我的程序是对整幅图像进行处理,我想得到图中任意一点的rgb值,
    能发信给我吗?[email protected]
    再次感谢,可以的话,我会再开贴给分的。