Changeset 7569


Ignore:
Timestamp:
01/21/11 13:08:04 (9 years ago)
Author:
curtis
Message:

Working version of Save As J2K plugin.

Needed to call writer.setInterleaved(true).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/maven/projects/loci-plugins/src/test/java/Save_As_J2K.java

    r7567 r7569  
    5050        static public final void writeJpeg2000(final String path, 
    5151                final ImageProcessor ip, final int type) throws IOException 
    52                 { 
     52        { 
    5353                final int pixelType = FormatTools.UINT8; 
    5454                final int samplesPerPixel; 
     
    6060                        for (int i=0, j=0; i<pix.length; i++) { 
    6161                                final int p = pix[i]; 
    62                                 b[j++] = (byte)((p >> 16) & 0xff); 
    63                                 b[j++] = (byte)((p >> 8) & 0xff); 
    64                                 b[j++] = (byte)(p & 0xff); 
    65                                 b[j++] = (byte)(p >> 24); 
     62                                b[j++] = (byte)((p >> 16) & 0xff); // R 
     63                                b[j++] = (byte)((p >> 8) & 0xff);  // G 
     64                                b[j++] = (byte)(p & 0xff);         // B 
     65                                b[j++] = (byte)(p >> 24);          // A 
    6666                        } 
    67                 } else if (type == ImagePlus.GRAY8) { 
     67                } 
     68                else if (type == ImagePlus.GRAY8) { 
    6869                        samplesPerPixel = 1; 
    6970                        b = (byte[]) ip.getPixels(); 
    70                 } else { 
    71                         throw new IllegalArgumentException("writeJpeg2000 accepts only 8-bit or ARGB."); 
     71                } 
     72                else { 
     73                        throw new IllegalArgumentException("Image must be 8-bit or ARGB."); 
    7274                } 
    7375                final IFormatWriter writer = new JPEG2000Writer(); 
     
    9597 
    9698                        writer.setMetadataRetrieve(meta); 
     99                        writer.setInterleaved(true); 
    97100                        writer.setId(path); 
    98101                        writer.saveBytes(0, b); 
    99                 } catch (Throwable t) { 
     102                } 
     103                catch (Throwable t) { 
    100104                        t.printStackTrace(); 
    101                 } finally { 
     105                } 
     106                finally { 
    102107                        writer.close(); 
    103108                } 
Note: See TracChangeset for help on using the changeset viewer.