aardio – 时钟例程

aardio – 时钟例程importwin ui DSG varwinform win form text aardioform right 582 bottom 531 winform add plus cls plus left 37 top 17 right 537 bottom 517 z 1 importgodkin paintvarp godking paint winform plus width winform plus heigh

例程1:围中心旋转 

aardio - 时钟例程

代码比较简单,主要演示实现方法,没有过多优化。

import win.ui; /*DSG{ 
  {*/ var winform = win.form(text="aardio form";right=582;bottom=531) winform.add( plus={cls="plus";left=37;top=17;right=537;bottom=517;z=1} ) /*}}*/ import godking.paint var p = godking.paint(winform.plus.width,winform.plus.height,,"/beijing.png") p.bindPlus(winform.plus,false) var f = function(){ var t=time() p.clear() //画时针 var a = t.hour*30+30*(t.minute*60+t.second)/3600 p.rotateCenter(a) p.drawImageF(0,0,p.width/*宽度*/,p.height/*高度*/,"/shi.png"/*图片*/) p.rotateCenter(-a) //画分针 a = 360*(t.minute*60+t.second)/3600 p.rotateCenter(a) p.drawImageF(0,0,p.width/*宽度*/,p.height/*高度*/,"/fen.png"/*图片*/) p.rotateCenter(-a) //画秒针 a = 360*t.second/60 p.rotateCenter(a) p.drawImageF(0,0,p.width/*宽度*/,p.height/*高度*/,"/miao.png"/*图片*/) p.rotateCenter(-a) //刷新 p.updatePlus() } f(); winform.setInterval( f,1000 ) winform.show(); win.loopMessage(); 

例程2:围指定点旋转

aardio - 时钟例程

请使用最新版paint库,以便更好的支持以下代码。 

方法1:

import win.ui; /*DSG{ 
  {*/ var winform = win.form(text="aardio form";right=582;bottom=531) winform.add( plus={cls="plus";left=37;top=17;right=537;bottom=517;z=1} ) /*}}*/ import godking.paint var p = godking.paint(winform.plus.width,winform.plus.height,,"/beijing1.png") p.bindPlus(winform.plus,false) var rect = ::RECT(242-80,331-80,242+80,331+80) var f = function(){ var t=time() p.clear() //画时针 var a = t.hour*30+30*(t.minute*60+t.second)/3600 p.rotateRect(rect,a) p.drawImage(rect,"/shi.png"/*图片*/) p.rotateRect(rect,-a) //此处恢复画板角度,建议用:p.resetTransform() //画分针 a = 360*(t.minute*60+t.second)/3600 p.rotateRect(rect,a) p.drawImage(rect,"/fen.png"/*图片*/) p.rotateRect(rect,-a) //此处恢复画板角度,建议用:p.resetTransform() //画秒针 a = 360*t.second/60 p.rotateRect(rect,a) p.drawImage(rect,"/miao.png"/*图片*/) p.rotateRect(rect,-a) //此处恢复画板角度,建议用:p.resetTransform() //刷新 p.updatePlus() } f(); winform.setInterval( f,1000 ) winform.show(); win.loopMessage();

方法2:

import win.ui; /*DSG{ 
  {*/ var winform = win.form(text="aardio form";right=582;bottom=531) winform.add( plus={cls="plus";left=37;top=17;right=537;bottom=517;z=1} ) /*}}*/ import godking.paint var p = godking.paint.fromPlus(winform.plus,false/*自动刷新plus*/) p.bkimg="/beijing1.png" var rect = ::RECT(242-80,331-80,242+80,331+80) var f = function(){ var t=time() p.clear() //画时针 p.rotateRect(rect,t.hour*30+30*(t.minute*60+t.second)/3600) p.drawImage(rect,"/shi.png"/*图片*/) p.resetTransform() //画分针 p.rotateRect(rect,360*(t.minute*60+t.second)/3600) p.drawImage(rect,"/fen.png"/*图片*/) p.resetTransform() //画秒针 p.rotateRect(rect,360*t.second/60) p.drawImage(rect,"/miao.png"/*图片*/) p.resetTransform() //刷新 p.updatePlus() } f(); winform.setInterval( f,1000 ) winform.show(); win.loopMessage();

方法3:

import win.ui; /*DSG{ 
  {*/ var winform = win.form(text="aardio form";right=582;bottom=531) winform.add( plus={cls="plus";left=37;top=17;right=537;bottom=517;z=1} ) /*}}*/ import godking.paint var p = godking.paint.fromPlus(winform.plus,false/*自动刷新plus*/) p.bkimg="/beijing1.png" var x,y,d = 242,331,160; //表盘中心点x,表盘中心点y,表盘直径(宽度、高度) var f = function(){ var t=time() p.clear() //画时针 p.rotatePoint(x,y,t.hour*30+30*(t.minute*60+t.second)/3600/*旋转角度*/); p.drawImageCenter(x,y,d,d,"/shi.png"/*图片*/); p.resetTransform() //画分针 p.rotatePoint(x,y,360*(t.minute*60+t.second)/3600/*旋转角度*/); p.drawImageCenter(x,y,d,d,"/fen.png"/*图片*/); p.resetTransform() //画秒针 p.rotatePoint(x,y,360*t.second/60/*旋转角度*/); p.drawImageCenter(x,y,d,d,"/miao.png"/*图片*/); p.resetTransform() //刷新 p.updatePlus() } f(); winform.setInterval( f,1000 ) winform.show(); win.loopMessage();

源代码及相关素材打包下载:

https://wwb.lanzouf.com/iTPvfi

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207394.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午1:55
下一篇 2026年3月19日 下午1:55


相关推荐

  • Double转BigDecimal小数点位数不一致问题「建议收藏」

    Double转BigDecimal小数点位数不一致问题「建议收藏」Doubledouble=1.23d;BigDecimalbd=newBigDecimal(double)时,出现转化得到的BigDecimaldb的小数点位数边长的问题。解决办法:BigDecimalbd=BigDecimal.valueof(double);

    2022年5月29日
    53
  • 如何使用Pip卸载软件包?

    如何使用Pip卸载软件包?PythonPipcom install update uninstallpac Wecanusepipc install PythonPip 命令提供搜索 安装 更新

    2026年3月26日
    2
  • Windows学习总结(2)——30+ Windows命令提示符快捷键汇总

    Windows学习总结(2)——30+ Windows命令提示符快捷键汇总即便你平时经常用到 Windows 命令提示符 可能也会对本文将提到的快捷键数量感到惊讶 其实我们可以使用快捷键来简化命令提示符中的选择操作 或对文本进行重复操作 下面我们会列出完整列表 大家都知道命令提示符是 Windows 中必不可少的一个系统管理的强有力工具 用户可以使用各种命令实现一些图形界面难以企及的管理方式 就其使用性质而言 Windows 命令提示符依赖于大量

    2026年3月26日
    2
  • 基于python-scrapy框架的爬虫系统[通俗易懂]

    基于python-scrapy框架的爬虫系统[通俗易懂]爬虫简单介绍需要毕设的同学可以联系我:609997553/wechat:wwj901521一、爬虫:就是抓取网页数据的程序二、爬虫如何抓取:网页三大特征:网页都有自己唯一的URL(统一资源定位符)来进行定位网页都使用HTML(超文本标记语言)来描述页面信息。网页都使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据。爬虫的设计思路:首先确定需要爬取的网页URL…

    2022年6月9日
    81
  • TensorFlow CNN 测试CIFAR-10数据集

    TensorFlow CNN 测试CIFAR-10数据集

    2021年9月12日
    108
  • 移动端viewport

    移动端viewport解决了页面内容在手机模式下能够正常显示问题控制浏览器分辨率 lt metaname viewport content width device width initial scale 1 0 maximum scale 1 0 user scalable 0 gt width device width 视图窗口的宽度等于手机设备的宽度 initial scale

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号