Java - Alguien maneja dem...?

 
Vista:

Alguien maneja dem...?

Publicado por Jaime (7 intervenciones) el 21/08/2007 02:15:23
Estoy intentando hacer un DEM VIEWER (visor de digital elevation maps)
Alguien sabe si este código está bien?? Es que no me deja ejecutarlo....

EL ERROR ESTÁ AL FINAL------ CODIGO!!

package tools;

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import javax.swing.*;

public class DEMViewer {

private static void usage() {
System.out.println("programa: java DEMViewer [filename.bsf] [x resolution] [y resolution] [subsampling factor]");
System.exit(1);
}

public static void main(String[] args) {
if (args.length != 4) {
usage();
}

String filename = args[0];
int xRes = 0;
int yRes = 0;
int subsamp = 0;

try {
xRes = Integer.parseInt(args[1]);
yRes = Integer.parseInt(args[2]);
subsamp = Integer.parseInt(args[3]);
} catch (NumberFormatException e) {
usage();
}

int newXRes = (xRes + (subsamp - 1)) / subsamp;
int newYRes = (yRes + (subsamp - 1)) / subsamp;

try {
FileInputStream fis = new FileInputStream(filename);
FileChannel chan = fis.getChannel();
ByteBuffer tmpBuf = chan.map(FileChannel.MapMode.READ_ONLY, 0, (int) chan.size());
ShortBuffer buf = tmpBuf.asShortBuffer();

BufferedImage img = new BufferedImage(newXRes,
newYRes,
BufferedImage.TYPE_BYTE_GRAY);
byte[] data = new byte[newXRes * newYRes];
int pos = 0;

// Compute max and min values
int max = 0;
int min = 0xFFFF;

for (int y = 0; y < yRes; y += subsamp) {
for (int x = 0; x < xRes; x += subsamp) {
int val = buf.get(y * xRes + x) & 0xFFFF;
max = Math.max(max, val);
min = Math.min(min, val);
}
}

System.err.println("Maximum value " + max + ", minimum value " + min);
float tffOScale = 255.0f / (float) (max - min);

for (int y = 0; y < yRes; y += subsamp) {
for (int x = 0; x < xRes; x += subsamp) {
int val = buf.get(y * xRes + x) & 0xFFFF;
data[pos++] = (byte) ((float) (val - min) * tffOScale);
}
}

img.setData(Raster.createRaster(img.getSampleModel(),
new DataBufferByte(data, data.length),
new Point()));

JFrame frame = new JFrame("DEM Viewer");
JLabel label = new JLabel(new ImageIcon(img));
frame.getContentPane().add(label);
frame.pack();
frame.show();
} catch (IOException e) {
e.printStackTrace();
}
}
}

C:\Borland\JBuilder2005\jdk1.4\bin\javaw -classpath "C:\Borland\JBuilder2005\samples\Welcome\classes;C:\Borland\JBuilder2005\jdk1.4\jre\javaws\javaws.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\charsets.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\dnsns.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\ldapsec.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\localedata.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\im\indicim.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\im\thaiim.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\jce.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\jsse.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\plugin.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\rt.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\sunrsasign.jar;C:\Borland\JBuilder2005\jdk1.4\lib\dt.jar;C:\Borland\JBuilder2005\jdk1.4\lib\htmlconverter.jar;C:\Borland\JBuilder2005\jdk1.4\lib\tools.jar" com.borland.samples.welcome.WelcomeApp
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder