Changeset 2517


Ignore:
Timestamp:
03/26/07 13:32:36 (13 years ago)
Author:
melissa
Message:

Fixed exporter to preserve pixel type.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/plugins/Exporter.java

    r2419 r2517  
    2929import ij.gui.GenericDialog; 
    3030import ij.io.SaveDialog; 
    31 import ij.process.ImageProcessor; 
     31import ij.process.*; 
    3232import java.awt.Image; 
    3333import java.awt.image.BufferedImage; 
     
    123123        IJ.showProgress((double) (i + 1) / is.getSize()); 
    124124        proc = is.getProcessor(i + 1); 
    125         Image slice = proc.createImage(); 
    126         BufferedImage img = 
    127           ImageTools.makeBuffered(slice, proc.getColorModel()); 
     125         
     126        BufferedImage img = null; 
     127        int x = proc.getWidth(); 
     128        int y = proc.getHeight(); 
     129 
     130        if (proc instanceof ByteProcessor) { 
     131          byte[] b = (byte[]) proc.getPixels(); 
     132          img = ImageTools.makeImage(b, x, y); 
     133        } 
     134        else if (proc instanceof ShortProcessor) { 
     135          short[] s = (short[]) proc.getPixels(); 
     136          img = ImageTools.makeImage(s, x, y); 
     137        } 
     138        else if (proc instanceof FloatProcessor) { 
     139          float[] b = (float[]) proc.getPixels(); 
     140          img = ImageTools.makeImage(b, x, y); 
     141        } 
     142        else if (proc instanceof ColorProcessor) { 
     143          byte[][] pix = new byte[3][x*y]; 
     144          ((ColorProcessor) proc).getRGB(pix[0], pix[1], pix[2]); 
     145          img = ImageTools.makeImage(pix, x, y);  
     146        } 
     147 
    128148        if (forceType) { 
    129149          if (!w.isSupportedType(null, thisType)) { 
Note: See TracChangeset for help on using the changeset viewer.