Raster

Does this look crooked?

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

/**
 * @author John B. Matthews
 */
public class RasterTest extends JPanel {

  private static final int WIDTH = 256;
  private static final int HEIGHT = 256;

  public RasterTest() {
    setPreferredSize(new Dimension(WIDTH * 2, HEIGHT * 2));
  }

  @Override
  public void paintComponent(Graphics g) {
    final BufferedImage image;
    int[] iArray = { 0, 0, 0, 255 };

    image = (BufferedImage) createImage(WIDTH, HEIGHT);
    WritableRaster raster = image.getRaster();
    for (int row = 0; row < HEIGHT; row++) {
      for (int col = 0 ; col < WIDTH; col++) {
        int v = row * col;
        iArray[0] = v << 1;
        iArray[1] = v << 2;
        iArray[2] = v << 3;
        raster.setPixel(col, row, iArray);
      }
    }
    g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
  }

  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setDefaultLookAndFeelDecorated(true);
        f.setResizable(false);
        RasterTest rt = new RasterTest();
        f.add(rt, BorderLayout.CENTER);
        f.pack();
        f.setVisible(true);
      }
    });
  }
}


Comments