这个问题很专业,csdn肯定答不出来,建议到 forum.java.sun.com出看看

解决方案 »

  1.   

    data = s.getCaptureData();
    int length = data.length;
        int[] masks = new int[3]; 
        masks[0] = 0xff0000;
        masks[1] = 0x00ff00;
        masks[2] = 0x0000ff;
        
    DataBuffer db = new DataBufferInt(data, length);
       SinglePixelPackedSampleModel sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT,s.getWidth(),s.getHeight(),masks);
       ColorModel cm = new DirectColorModel(32,0xff0000,0x00ff00,0x0000ff);
    WritableRaster wr =
    Raster.createWritableRaster(sm, db,null);
    img = new BufferedImage(cm, wr, false, null);
      

  2.   

    DirectColorModel应该是24bit,或者masks用4个bank