1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
  
     | 
    
      <?php
// This only works with pdflib 2.0
$pdffilename = "clock.pdf";
$radius = 200;
$margin = 20;
$pagecount = 190;
$fp = fopen($pdffilename, "w");
$pdf = pdf_open($fp);
pdf_set_info_creator($pdf, "pdf_clock.php3");
pdf_set_info_author($pdf, "Uwe Steinmann");
pdf_set_info_title($pdf, "Analog Clock");
while($pagecount-- > 0) {
  pdf_begin_page($pdf, 2 * ($radius + $margin), 2 * ($radius + $margin));
  
  pdf_set_transition($pdf, 4);  /* wipe */
  pdf_set_duration($pdf, 0.5);
  
  pdf_translate($pdf, $radius + $margin, $radius + $margin);
  pdf_save($pdf);
  pdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);
  
  /* minute strokes */
  pdf_setlinewidth($pdf, 2.0);
  for ($alpha = 0; $alpha < 360; $alpha += 6)
    {
    pdf_rotate($pdf, 6.0);
    pdf_moveto($pdf, $radius, 0.0);
    pdf_lineto($pdf, $radius-$margin/3, 0.0);
    pdf_stroke($pdf);
    }
  
  pdf_restore($pdf);
  pdf_save($pdf);
  
  /* 5 minute strokes */
  pdf_setlinewidth($pdf, 3.0);
  for ($alpha = 0; $alpha < 360; $alpha += 30)
  {
    pdf_rotate($pdf, 30.0);
    pdf_moveto($pdf, $radius, 0.0);
    pdf_lineto($pdf, $radius-$margin, 0.0);
    pdf_stroke($pdf);
  }
  
  $ltime = getdate();
  
  /* draw hour hand */
  pdf_save($pdf);
  pdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0);
  pdf_moveto($pdf, -$radius/10, -$radius/20);
  pdf_lineto($pdf, $radius/2, 0.0);
  pdf_lineto($pdf, -$radius/10, $radius/20);
  pdf_closepath($pdf);
  pdf_fill($pdf);
  pdf_restore($pdf);
  
  /* draw minute hand */
  pdf_save($pdf);
  pdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0);
  pdf_moveto($pdf, -$radius/10, -$radius/20);
  pdf_lineto($pdf, $radius * 0.8, 0.0);
  pdf_lineto($pdf, -$radius/10, $radius/20);
  pdf_closepath($pdf);
  pdf_fill($pdf);
  pdf_restore($pdf);
  
  /* draw second hand */
  pdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
  pdf_setlinewidth($pdf, 2);
  pdf_save($pdf);
  pdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
  pdf_moveto($pdf, -$radius/5, 0.0);
  pdf_lineto($pdf, $radius, 0.0);
  pdf_stroke($pdf);
  pdf_restore($pdf);
  
  /* draw little circle at center */
  pdf_circle($pdf, 0, 0, $radius/30);
  pdf_fill($pdf);
  
  pdf_restore($pdf);
  
  pdf_end_page($pdf);
}
$pdf = pdf_close($pdf);
fclose($fp);
echo "<A HREF='$pdffilename'>pdf file</A>";
?>
 
     |