在qml中将一个16进制表示的颜色加上透明度

在qml中,我们在指定控件的颜色时,可以直接通过16进制的字符串来表示,比如"#ff0000";
这种方式也比较符合UI设计人员的使用习惯。
但是假如要在此颜色的基础上,加个透明度的话,就要重新计算一番,比较麻烦。
这里提供一个函数,直接输入基础颜色以及其透明百分比,就可以返回对应的颜色。

    function genColor(hexColor, opacity)
    {
    
    
        hexColor = hexColor.replace("#", "")
        var tmpColor = "#" + parseInt((opacity * 255)).toString(16).padStart(2, '0') + hexColor
        return tmpColor
    }

使用方法如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/joyopirate/article/details/132900577