当前位置: 首页 > 图文教程 > 网络编程 > ASP > 调用DirectX的组件实现的时钟

ASP
嵌入式Web视频点播系统实现方法
GB与BIG5内码转换COM原代码
金额阿拉伯数字转换为中文的存储过程
利用 WSH 作定时工作流程
用InstallShield 进行 ASP 软件的打包和自动安装
服务器获得客户端时间的方法
关于如何读出图片的高度与长度的总结
按下回车键指向下一个位置的一个函数
一个不错的随机函数
一套加解密字符串的函数
一段加密函数(base64)
一段加密函数
使用asp实现支持附件的邮件系统(三)
使用asp实现支持附件的邮件系统(二)
使用asp实现支持附件的邮件系统(一)
检查当前目录下是否存在指定的文件,如果存在就重新命名
MD5加密的javascript实现例子
如何在服务器端调用winzip命令行对上传的多个文件打包压缩
MD5不可逆加密算法的ASP实现实例
看人家用使用InstallShield制作ASP安装程序(6)

ASP 中的 调用DirectX的组件实现的时钟


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 231 ::
收藏到网摘: n/a

  下面的代码是调用的DirectX的组件实现的时钟。它有三根指针,会实时地随系统时间的改变而改变。
不过我没有做刻度,因为我觉得用程序画出来的刻度不漂亮,用PHOTOSHOP画一口钟作为背景要漂亮多了。


<html>
<head>
<title>指针式时钟</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div id="LayClock" style="position:absolute; width:101; height:101px; z-index:2; left: 203px; top: 101px">
  <object id="DAControl" width=101 height=101 align=LEFT hspace=0
   classid="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D">
  </object>
  <SCRIPT LANGUAGE="VBScript">
<!--
  Set m = DAControl.PixelLibrary
  pi = 3.14159265359
  Sub window_onLoad
    a = time
    min1 = minute(time)
    hr1 = hour(time)
    sec1 = second(time)
    Set xPos = m.Mul(m.DANumber(150), m.Cos(m.Mul(m.LocalTime,m.DANumber(0.3))))
    Set yPos = m.Mul(m.DANumber(35), m.Cos(m.Mul(m.LocalTime,m.DANumber(0.5))))
    Set clock = m.Overlay(hands(hr1,min1,sec1),hands(hr1,min1,sec1))
    DAControl.Image = clock
    DAControl.Start
  End Sub
  Function hands(hr,min,sec)
    Set bvr60 = m.DANumber(60)
    Set secFromMidnight = m.Add(m.DANumber(hr*3600+min*60+sec),m.LocalTime)
    Set secBvr = m.Mod(secFromMidnight,bvr60)
    Set minBvr = m.Mod(m.Div(secFromMidnight,bvr60),bvr60)
    Set hrBvr = m.Mod(m.Div(secFromMidnight,m.DANumber(3600)),m.DANumber(12))
    ptsSec = Array( -10, -2, 42, -1, 42, 1, -10,2 )
    ptsMin = Array(-7, -2, 36, -1, 36, 1, -7, 2 )
    ptsHr = Array(-5, -3, 32, -1, 32, 1, -5, 3 )
    Set temp1 = m.Mul(m.DANumber(-pi/30),m.Sub(secBvr,m.DANumber(15)))
    Set temp2 = m.Mul(m.DANumber(-pi/30),m.Sub(minBvr,m.DANumber(15)))
    Set temp3 = m.Mul(m.DANumber(-pi/6),m.Sub(hrBvr,m.DANumber(3)))
    Set imgSec = m.PolyLine(ptsSec).Fill(m.DefaultLineStyle,m.SolidColorImage(m.cyan))
    Set imgSec = imgSec.TransForm(m.Rotate2Anim(temp1))
    Set imgMin = m.PolyLine(ptsMin).Fill(m.DefaultLineStyle,m.SolidColorImage(m.yellow))
    Set imgMin = imgMin.TransForm(m.Rotate2Anim(temp2))
    Set imgHr = m.PolyLine(ptsHr).Fill(m.DefaultLineStyle,m.SolidColorImage(m.green))
    Set imgHr = imgHr.TransForm(m.Rotate2Anim(temp3))
    Set hands = m.Overlay(imgSec,m.Overlay(imgMin,imgHr))
  End Function
-->
</SCRIPT></div>
</body>
</html>