/* * TestSimultaneous.java * * Created on December 8, 2006, 9:36 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package edu.mbl.jif.imaging; import edu.mbl.jif.gui.imaging.player.SeriesPlayerZoomFrame; import edu.mbl.jif.imaging.tiff.MultipageTiffFile; import edu.mbl.jif.imaging.tiff.MultipageTiffFile; import edu.mbl.jif.imaging.util.ImageFactoryGrayScale; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import javax.swing.JFrame; /** * * @author GBH */ public class TestSimultaneous { /** * Creates a new instance of TestSimultaneous */ public TestSimultaneous() { } static String tiffFilename = "testsimul"; public static void main(String[] args) { test2(); } static void test2() { MultipageTiffFile tif = new MultipageTiffFile(); tif.openWrite(tiffFilename); for (int i = 0; i < 10; i++) { BufferedImage img = ImageFactoryGrayScale.testImageByte(); String name = timeStamp(); img = dataOnImage(img, name, new String[]{String.valueOf(i)}); //tif.prepareWriteSequence(); tif.appendImage((BufferedImage) img); //tif.endWriteSequence(); wait(1000); if (i == 0) { SeriesPlayerZoomFrame f = new SeriesPlayerZoomFrame(tiffFilename); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setVisible(true); tif.addSeriesFileListener(f); } } //tif.close(); } static void test1() { for (int i = 0; i < 10; i++) { BufferedImage img = ImageFactoryGrayScale.testImageByte(); String name = timeStamp(); img = dataOnImage(img, name, new String[]{String.valueOf(i)}); MultipageTiffFile.appendImageToTiffFile(img, "testSimul"); wait(200); } } public static BufferedImage dataOnImage(BufferedImage bImage, String title, String[] data) { Graphics bG = bImage.getGraphics(); int w = bImage.getWidth(); int h = bImage.getHeight(); int incr = (int) (h / (data.length + 2)); // draw the Title bG.setColor(Color.white); bG.drawString(title, (int) (w / 8), incr); // draw the strings for (int i = 0; i < data.length; i++) { bG.setColor(Color.white); bG.drawString(data[i], (int) (w / 8), incr * (i + 2)); } return bImage; } public static String timeStamp() { SimpleDateFormat formatter = new SimpleDateFormat("yy-MM-dd_HH-mm-ss_SS", Locale.getDefault()); Date currentDate = new Date(); String dateStr = formatter.format(currentDate); return dateStr; } public static void wait(int msecs) { try {Thread.sleep(msecs);} catch (InterruptedException e) { } } }