Diet3DCommandLine.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /* $Id: Diet3DCommandLine.java,v 1.3 2004/03/25 00:18:16 rzr Exp $ */
  2. /**
  3. * @author www.Philippe.COVAL.free.fr
  4. * Copyright and License : http://rzr.online.fr/license.htm
  5. **/
  6. /*
  7. http://jmge.net/java/gifenc/Gif89Encoder090b.zip
  8. javac -classpath ../extra/gif/lib/classes.jar:../jclasses-awt Diet3DCommandLine.java && java -classpath ../extra/gif/lib/classes.jar:../jclasses-awt:. Diet3DCommandLine
  9. */
  10. import net.jmge.gif.*;
  11. import java.awt.*;
  12. import java.awt.image.*;
  13. import java.io.*;
  14. import java.util.Vector;
  15. public final class Diet3DCommandLine
  16. {
  17. static int h_ = 60;
  18. static int w_ = h_;
  19. static Image gi = null;
  20. static Gif89Encoder ge = null;
  21. static Graphics g = null;
  22. final long mspf = 40;// 1 / fps
  23. static Diet3DApplet o = new Diet3DApplet();
  24. static Frame f = new Frame();
  25. static Diet3D m_ = o.mRender;
  26. public static void loop(int n) throws Exception
  27. {
  28. for(int i=0;i<n;i++) {
  29. m_.paint(g);
  30. m_.update();
  31. ge.addFrame( gi );
  32. }
  33. }
  34. public static void demoLoop() throws Exception
  35. {
  36. m_.toggleAnim(1);
  37. m_.toggleShape(4);
  38. m_.toggleMode(11);
  39. loop(46);
  40. }
  41. public static void demo() throws Exception
  42. {
  43. /*
  44. m_.toggleMode(1);
  45. loop(8);
  46. m_.toggleMode(2);
  47. loop(8);
  48. m_.toggleMode(4);
  49. loop(16);
  50. m_.toggleMode(5);
  51. loop(16);
  52. */
  53. /*
  54. for(int i=0;i<12;i++) {
  55. loop(8);
  56. m_.tick();
  57. } */
  58. }
  59. public static void gif(String[] arg)
  60. {
  61. //BufferedReader in = new BufferedReader(new FileReader(args[0]));
  62. String filename = "gif89out.gif";
  63. if ( arg.length > 0 ) filename = arg[0];
  64. //System.out.println( arg[0] );
  65. try {
  66. Toolkit tk = Toolkit.getDefaultToolkit();
  67. OutputStream out = new BufferedOutputStream
  68. ( new FileOutputStream(filename) );
  69. gi = new BufferedImage( m_.w_ , m_.h_ ,
  70. BufferedImage.TYPE_4BYTE_ABGR );
  71. g = gi.getGraphics();
  72. ge = new Gif89Encoder();
  73. demoLoop();
  74. //m_.toggleMode(10);
  75. //loop( 2 );
  76. ge.setComments("http://rzr.online.fr/java.htm");
  77. ge.setLoopCount(0); // let's loop indefinitely
  78. ge.encode(out);
  79. } catch (Exception e) { e.printStackTrace(); }
  80. }
  81. public static void show(String[] arg)
  82. {
  83. f.resize( o.w_ , o.h_ );
  84. f.add(o);
  85. //o.start();
  86. o.validate();
  87. for(int i=0; i<64; i++) {
  88. o.repaint();
  89. //m_.update();
  90. //System.sleep(500);
  91. }
  92. f.show();
  93. //o.stop();
  94. }
  95. public static void init(String[] arg)
  96. {
  97. o.init();
  98. m_.toggleAnim(2);
  99. m_.toggleShape(0);
  100. m_.toggleMode(12);
  101. }
  102. public static void main(String[] arg)
  103. {
  104. //init(arg);
  105. //show(arg);
  106. gif(arg);
  107. }
  108. }