コード例 #1
0
ファイル: ImageHeader.java プロジェクト: Holdlen2DH/nest
 public static ImageHeader load(Properties imageProperties, File imageDir) throws IOException {
   int dataType = Integer.parseInt(imageProperties.getProperty("dataType"));
   int minX = Integer.parseInt(imageProperties.getProperty("minX", "0"));
   int minY = Integer.parseInt(imageProperties.getProperty("minY", "0"));
   int width = Integer.parseInt(imageProperties.getProperty("width"));
   int height = Integer.parseInt(imageProperties.getProperty("height"));
   int tileGridXOffset = Integer.parseInt(imageProperties.getProperty("tileGridXOffset", "0"));
   int tileGridYOffset = Integer.parseInt(imageProperties.getProperty("tileGridYOffset", "0"));
   int tileWidth = Integer.parseInt(imageProperties.getProperty("tileWidth"));
   int tileHeight = Integer.parseInt(imageProperties.getProperty("tileHeight"));
   int numberOfBits = Integer.parseInt(imageProperties.getProperty("numberOfBits", "0"));
   String tileFormat = imageProperties.getProperty("tileFormat", "raw.zip");
   SampleModel sampleModel;
   ColorModel colorModel;
   if (tileFormat.startsWith("raw")) {
     if (numberOfBits == 1 || numberOfBits == 2 || numberOfBits == 4) {
       sampleModel =
           new MultiPixelPackedSampleModel(dataType, tileWidth, tileHeight, numberOfBits);
     } else {
       sampleModel = ImageUtils.createSingleBandedSampleModel(dataType, tileWidth, tileHeight);
     }
     colorModel = null;
   } else {
     RenderedOp tile00 =
         FileLoadDescriptor.create(
             new File(imageDir, "0-0." + tileFormat).getPath(), null, true, null);
     sampleModel = tile00.getSampleModel().createCompatibleSampleModel(tileWidth, tileHeight);
     colorModel = tile00.getColorModel();
   }
   ImageLayout imageLayout =
       new ImageLayout(
           minX,
           minY,
           width,
           height,
           tileGridXOffset,
           tileGridYOffset,
           tileWidth,
           tileHeight,
           sampleModel,
           colorModel);
   return new ImageHeader(imageLayout, tileFormat);
 }