home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 February / PCWorld_2002-02_cd.bin / Software / Vyzkuste / pdflib / pdflib-4.0.1.sit / pdflib-4.0.1 / bind / php / pdfclock.php < prev    next >
Encoding:
PHP Script  |  2001-05-18  |  2.0 KB  |  95 lines  |  [TEXT/LMAN]

  1. <?php
  2. # $id$
  3.  
  4. $RADIUS = 200.0;
  5. $MARGIN = 20.0;
  6.  
  7. $p = PDF_new();
  8.  
  9. PDF_open_file($p, "");
  10.  
  11. PDF_set_info($p, "Creator", "pdfclock.php");
  12. PDF_set_info($p, "Author", "Rainer Schaaf");
  13. PDF_set_info($p, "Title", "PDF clock (PHP)");
  14.  
  15. PDF_begin_page($p, 2 * ($RADIUS + $MARGIN), 2 * ($RADIUS + $MARGIN));
  16.  
  17. PDF_translate($p, $RADIUS + $MARGIN, $RADIUS + $MARGIN);
  18. PDF_setcolor($p, "both", "rgb", 0.0, 0.0, 1.0, 0.0);
  19. PDF_save($p);
  20.  
  21. # minute strokes 
  22. PDF_setlinewidth($p, 2.0);
  23. for ($alpha = 0; $alpha < 360; $alpha += 6)
  24. {
  25.     PDF_rotate($p, 6.0);
  26.     PDF_moveto($p, $RADIUS, 0.0);
  27.     PDF_lineto($p, $RADIUS-$MARGIN/3, 0.0);
  28.     PDF_stroke($p);
  29. }
  30.  
  31. PDF_restore($p);
  32. PDF_save($p);
  33.  
  34. # 5 minute strokes
  35. PDF_setlinewidth($p, 3.0);
  36. for ($alpha = 0; $alpha < 360; $alpha += 30)
  37. {
  38.     PDF_rotate($p, 30.0);
  39.     PDF_moveto($p, $RADIUS, 0.0);
  40.     PDF_lineto($p, $RADIUS-$MARGIN, 0.0);
  41.     PDF_stroke($p);
  42. }
  43.  
  44. $ltime = getdate();
  45.  
  46. # draw hour hand 
  47. PDF_save($p);
  48. PDF_rotate($p, -(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0);
  49. PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
  50. PDF_lineto($p, $RADIUS/2, 0.0);
  51. PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
  52. PDF_closepath($p);
  53. PDF_fill($p);
  54. PDF_restore($p);
  55.  
  56. # draw minute hand
  57. PDF_save($p);
  58. PDF_rotate($p, -(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0);
  59. PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
  60. PDF_lineto($p, $RADIUS * 0.8, 0.0);
  61. PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
  62. PDF_closepath($p);
  63. PDF_fill($p);
  64. PDF_restore($p);
  65.  
  66. # draw second hand
  67. PDF_setcolor($p, "both", "rgb", 1.0, 0.0, 0.0, 0.0);
  68. PDF_setlinewidth($p, 2);
  69. PDF_save($p);
  70. PDF_rotate($p, -(($ltime['seconds'] - 15.0) * 6.0));
  71. PDF_moveto($p, -$RADIUS/5, 0.0);
  72. PDF_lineto($p, $RADIUS, 0.0);
  73. PDF_stroke($p);
  74. PDF_restore($p);
  75.  
  76. # draw little circle at center
  77. PDF_circle($p, 0, 0, $RADIUS/30);
  78. PDF_fill($p);
  79.  
  80. PDF_restore($p);
  81. PDF_end_page($p);
  82.  
  83. PDF_close($p);
  84.  
  85. $buf = PDF_get_buffer($p);
  86. $len = strlen($buf);
  87.  
  88. header("Content-type: application/pdf");
  89. header("Content-Length: $len");
  90. header("Content-Disposition: inline; filename=pdfclock.pdf");
  91. print $buf;
  92.  
  93. PDF_delete($p);
  94. ?>
  95.