コード例 #1
0
  /** Returns an input stream containing the written data */
  private ImageInputStream writeImageFrames(
      DicomStreamMetaData newMeta, List<BufferedImage> bis, String name) throws IOException {
    File f = new File(name + ".dcm");
    if (f.exists()) f.delete();
    ImageOutputStream imageOutput = new FileImageOutputStream(f);
    DicomImageWriter writer = (DicomImageWriter) new DicomImageWriterSpi().createWriterInstance();

    writer.setOutput(imageOutput);
    writer.prepareWriteSequence(newMeta);

    for (BufferedImage bi : bis) {
      IIOImage iioimage = new IIOImage(bi, null, null);
      writer.setOutput(imageOutput);
      writer.writeToSequence(iioimage, null);
    }

    imageOutput.close();
    return new FileImageInputStream(f);
  }