aardio - 圆环进度条

该博客展示了一段代码,用于创建一个带有圆环进度条效果的UI,其中包括了进度条的旋转、文字显示和头像展示。代码使用了godking.paint库,并通过winform设置定时器动态更新进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看效果:

 

 对例程进行了改造:

上代码:

请下载最新版paint库,以便能够顺利运行以下代码: 

//圆环进度条
import win.ui;
/*DSG{{*/
var winform = win.form(text="圆形进度条";right=258;bottom=258)
winform.add(
plus={cls="plus";left=3;top=4;right=256;bottom=257;bgcolor=32896;clipBk=false;notify=1;repeat="center";z=1}
)
/*}}*/

winform.plus.setPieRange(1,360)
winform.plus.progressPos  = 1;
 
winform.setInterval( 
	function(){
		winform.plus.progressPos = winform.plus.progressPos+1
	},10 
)

//在输出图像以后,抠出圆环效果
winform.plus.onDrawForegroundEnd = function(graphics,rc){
	import godking.paint
    var p = godking.paint.fromGraphics(graphics,rc.right,rc.bottom)
    p.textAntiAlias=true
	
	//画出进度条
    p.rotateRect(rc,-45/*旋转角度*/)
    p.fillPie(rc,0x55FFFFFF,0/*开始角*/,winform.plus.progressPos/*结束角*/)
    p.drawEllipse(rc,0xFFFFFFFF,1)//画个圆圈去掉锯齿
    
    //画出进度文字
    p.rotateRect(rc,winform.plus.progressPos+5/*旋转角度*/)
    p.drawTextF(200,120,0/*宽度*/,0/*高度*/,..tostring(winform.plus.progressPos),
    			::LOGFONT(name="Arial";point=12;color=0xFFFFFFFF),{0},1)
	
	//画出中间头像
	p.resetTransform()
	p.rotateRect(rc,winform.plus.progressPos/*旋转角度*/)
 	rc.inflate(-(rc.width()/5),-(rc.height()/5)) 
    p.setClip(rc,-1/*圆角半径*/,0/*_GdipCombineModeReplace*/)
    p.drawImage(rc,"/tou.png"/*图片*/)
    p.setClip()
    p.drawEllipse(rc,0xFFFFFFFF,1)//画个圆圈去掉锯齿
}

winform.show() 
win.loopMessage();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值