Revision 5894 trunk/libraries/libCq CMS for java.old/src/org/cresques/px/PxRaster.java

View differences:

PxRaster.java
49 49
import org.cresques.io.raster.RasterFilterStackManager;
50 50
import org.cresques.io.raster.RasterStats;
51 51
import org.cresques.io.raster.RasterToImageFilter;
52
import org.cresques.io.raster.TransparencyRange;
52 53

  
53 54

  
54 55
/**
......
707 708
    }
708 709

  
709 710
    /**
711
     * Aplica transparencia leyendo los metadatos
712
     */
713
    private void setTransparencyByPixel(){
714
    	if(geoFile[0].getMetadata() != null){
715
        	TransparencyRange[] noData = geoFile[0].getMetadata().parserNodata();
716
        	if(noData != null){
717
        		if (stackManager == null) {
718
                    stackManager = new RasterFilterStackManager(filterStack);
719
                    ArrayList entries = new ArrayList();
720
                    for(int i = 0; i < noData.length; i++)
721
                    	entries.add(noData[i]);
722
           
723
                    stackManager.addTransparencyFilter(	entries, 0x10, 0xff, 0xff, 0xff);
724
                }
725
        	}
726
        }
727
    }
728
    
729
    /**
710 730
     * Dibuja el raster sobre el Graphics. Para ello debemos de pasar el viewPort que corresponde a la
711 731
     * vista. Este viewPort es ajustado a los tama?os m?ximos y m?nimos de la imagen por la funci?n  
712 732
     * calculateNewView. Esta funci?n tambi?n asignar? la vista a los drivers. Posteriormente se calcula 
......
758 778
        Point2D.Double pt = new Point2D.Double(adjustedExtent[0], adjustedExtent[3]);
759 779
        
760 780
        try {
761
            //System.out.println("Dibujando PxRaster: pt0 = "+pt);
762 781
            vp.mat.transform(pt, pt);
763 782

  
764
            //System.out.println("Dibujando PxRaster: pt1 = "+pt);
783
            setTransparencyByPixel();
784
            
765 785
            if ((geoFile != null) && geoFile[0] instanceof GdalFile &&
766 786
                    (geoFile[0].getDataType() != DataBuffer.TYPE_BYTE)) {
767 787
                //System.out.println("PxRaster: Has dado con un Raster de 16 bits");

Also available in: Unified diff