import javax.swing.*; import java.awt.*; import java.io.*; public class DisplayMandelbrot { public static final int MAX_X = 1000, MAX_Y =1000, COLOR_INC = 80; public static int[][] buffer = null; public static float iterations = 0; public static void main(String[] args) { // Read the mandelbrot display data from a file JFileChooser fc = new JFileChooser (new File(System.getProperty("user.dir"))); int result = fc.showOpenDialog(null); if (result != JFileChooser.APPROVE_OPTION) return; File file = fc.getSelectedFile(); try { DataInputStream in = new DataInputStream (new FileInputStream(file)); int rows = convertBigEndian(in.readInt()); int columns = convertBigEndian(in.readInt()); iterations = convertBigEndian(in.readInt()); buffer = new int[rows][columns]; for (int row=0; rowiterations)? iterations : c*5) /iterations; float hue = c / iterations; float saturation = 1.0F; return Color.getHSBColor(hue, saturation, brightness); } public static int convertBigEndian(int value) { int result = 0; for (int i=0; i<32; i+=8) { result += ((value>>i) & 255) << (24 - i); } return result; } }