import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import com.ermapper.ecw.JNCSFile; /* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana * * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. * * For more information, contact: * * Generalitat Valenciana * Conselleria d'Infraestructures i Transport * Av. Blasco Ibáñez, 50 * 46010 VALENCIA * SPAIN * * +34 963862235 * gvsig@gva.es * www.gvsig.gva.es * * or * * IVER T.I. S.A * Salamanca 50 * 46005 Valencia * Spain * * +34 963163400 * dac@iver.es */ class readEcw{ public static void main(String[] args){ try{ FileOutputStream s=null; DataOutputStream midataOS=null; BufferedOutputStream miBS=null; JNCSFile file = new JNCSFile(args[0], false); System.out.println("ECW size = ("+file.width+","+file.height+")\n"+ " datum='"+file.datum+"', proyeccion='"+file.projection+"'"); System.out.println("origin="+file.originX+" "+file.originY); System.out.println("cellIncrement="+file.cellIncrementX+" "+file.cellIncrementY); System.out.println("Band List="+file.numBands); try{ File mifichero=new File("exit.raw"); s = new FileOutputStream(mifichero); }catch(Exception e){} int bandlist[] = new int[file.numBands]; for (int i=0; i< file.numBands; i++) { bandlist[i] = i; } file.setView(file.numBands, bandlist, 0, 0, file.width-1, file.height-1, file.width, file.height); int pRGBArray[] = new int[file.width]; byte array[]= new byte[file.width]; for (int line=0; line < file.height; line++) { //System.out.println("line="+line); file.readLineRGBA(pRGBArray); for (int i=0; i < pRGBArray.length ; i++)array[i]=(byte)pRGBArray[i]; s.write(array); } file.close(true); System.out.println("END"); s.close(); while(true); }catch(Exception e){e.printStackTrace();} } }