分享进度条设计

li****xi UID.2628546
2017-09-16 发表

好像我看到很久没人在这里说话,我来分享一个大神写的进度条
***图片停止解析***

win10 uwp 进度条 WaveProgressControl


敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
li****xi UID.2628546
2017-09-16 回复

文章 [win10 uwp 进度条 WaveProgressControl](http://lindexi.oschina.io/lindexi/post/win10-uwp-%E8%BF%9B%E5%BA%A6%E6%9D%A1-WaveProgressControl/)

qingqing870812 UID.1166833
2017-09-16 使用 Lumia 950 XL 回复

404

tmp00000 UID.995403
2017-09-16 回复

本帖最后由 tmp00000 于 2017-9-16 20:53 编辑

原理是贝塞尔曲线和平移。最大的问题是字体填充色不佳。

tmp00000 UID.995403
2017-09-16 回复

不觉得字体的颜色不合适吗?水上去之后字还是蓝色的,看不清。

tmp00000 UID.995403
2017-09-16 回复

而且字应该居中。100% 左偏,0% 右偏,强迫症看了想抠屏幕。

vbfool UID.352791
2017-09-17 回复

Quote***链接停止解析***
不觉得字体的颜色不合适吗?水上去之后字还是蓝色的,看不清。


这些都是可以定义模板的话,就没问题了。

tmp00000 UID.995403
2017-09-17 回复

本帖最后由 tmp00000 于 2017-9-17 11:20 编辑

Quotevbfool 发表于 2017-9-17 07:36 这些都是可以定义模板的话,就没问题了。
似乎没那么简单。让字的颜色合适,能看清有个很好的办法,是把水漫过的部分的字体颜色变成白色,而水没有漫过的部分保持蓝色。由于水是用一个带有贝塞尔曲线的多边形表示的,这种颜色处理很可能需要比较低层次的实现,比如说要用 Win2D。

vbfool UID.352791
2017-09-18 回复

Quote***链接停止解析***
似乎没那么简单。让字的颜色合适,能看清有个很好的办法,是把水漫过的部分的字体颜色变成白色,而水没有漫 ...


这个就相对难搞了

tmp00000 UID.995403
2017-09-18 回复

Quotevbfool 发表于 2017-9-18 02:25
这个就相对难搞了


这种情况基本上要进行像素级别的处理,也就是要写 Pixel Shader 这一类的程序。

vbfool UID.352791
2017-09-18 回复

Quote***链接停止解析***
这种情况基本上要进行像素级别的处理,也就是要写 Pixel Shader 这一类的程序。 ...


不过估计也要弄个ContentTemplate之类的来,然后在绘制的时候把ContentPresenter给画到内存里,再做进一步处理。

tmp00000 UID.995403
2017-09-24 回复

Quotevbfool 发表于 2017-9-18 12:54
不过估计也要弄个ContentTemplate之类的来,然后在绘制的时候把ContentPresenter给画到内存里,再做进一 ...


RenderTargetBitmap 到 CanvasBitmap 转换有个问题。这种颜色变化还好说,但是遇到把截图转换成 CanvasBitmap 后要变换的情况就麻烦了。

lij****526 UID.2865908
2018-01-26 回复

不错,确实比我自己做的好看!

artfly08 UID.2900999
2018-05-11 使用 Lumia 830 回复

支持

artfly08 UID.2900999
2018-06-26 使用 Lumia 950 XL 回复

简单明了,干净利落

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报