最近公司搞技改,要实现这么一个功能,在画面上做一个圆,里面的背景颜色要求亮度可调,从0到100可调,小弟实在搞不出来,各位大侠帮帮忙,谢谢!
问题补充:
轻轻飞大师,能不能告诉我具体怎么调,我刚试过了,没调出来。谢谢了,不胜感激
最佳答案
这个问题的确比较困难,毕竟WinCC目前只能设置背景颜色的RGB值,所以要实现亮度的调节,首先要将RGB转化为HSL坐标,改变其中的L值就可以改变亮度(取值范围为0~240),最后再将HSL转换为RGB坐标即可,详细的编程方法可以参考下面的地址:
http://faq.csdn.net/read/190689.html
当然也可以采用如下偷懒的办法,即利用Microsoft Common Dialog控件来实现亮度调节,步骤如下:
1、画面做一圆,名称改为ColorObject
2、拖入控件:对象选件板>>智能对象>>控件>>Microsoft Common Dialog Control Version V6.0,名称改为CommDlg
如提示需要授权,请安装VB,或者直接注册VB6.0安装光盘中的VBCTRLS.REG注册表文件。
2、画面放置一个按钮,其鼠标左键VBS代码如下:
Dim CommDlg
Set CommDlg = ScreenItems("CommDlg")
CommDlg.Flags=1
CommDlg.Color = ScreenItems("ColorObject").BackColor
CommDlg.ShowColor
ScreenItems("ColorObject").BackColor = CommDlg.Color
提问者对于答案的评价:
高手,佩服,以后有什么不懂得还得向您请教!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc271869.html