示例#1
0
文件: misc.py 项目: jerkos/metms
    def _get_color (self, value, asQColor=False, alpha=0.5):
        ''' Get interpolated color from value '''

        if not len(self.vcolors):
            return (0.,0.,0.,self.alpha)
        elif len(self.vcolors) == 1:
            return self.vcolors[0][1]
        elif value < 0.0:
            return self.vcolors[0][1]
        elif value > 1.0:
            return self.vcolors[-1][1]
        sup_color = self.vcolors[0]
        inf_color = self.vcolors[-1]
        for i in xrange (len(self.vcolors)-1):
            if value < self.vcolors[i+1][0]:
                inf_color = self.vcolors[i]
                sup_color = self.vcolors[i+1]
                break
        r = (value-inf_color[0])/(sup_color[0]-inf_color[0])
        if not asQColor:
            return (sup_color[1][0]*r + inf_color[1][0]*(1-r), 
                    sup_color[1][1]*r + inf_color[1][1]*(1-r),
                    sup_color[1][2]*r + inf_color[1][2]*(1-r))
        
        from PyQt4.QtGui import QColor
        q = QColor()
        q.setRedF(sup_color[1][0]*r + inf_color[1][0]*(1-r))
        q.setGreen(sup_color[1][1]*r + inf_color[1][1]*(1-r))
        q.setBlueF(sup_color[1][2]*r + inf_color[1][2]*(1-r))
        q.setAlphaF(alpha)
        return q
示例#2
0
    def _get_color(self, value, asQColor=False, alpha=0.5):
        ''' Get interpolated color from value '''

        if not len(self.vcolors):
            return (0., 0., 0., self.alpha)
        elif len(self.vcolors) == 1:
            return self.vcolors[0][1]
        elif value < 0.0:
            return self.vcolors[0][1]
        elif value > 1.0:
            return self.vcolors[-1][1]
        sup_color = self.vcolors[0]
        inf_color = self.vcolors[-1]
        for i in xrange(len(self.vcolors) - 1):
            if value < self.vcolors[i + 1][0]:
                inf_color = self.vcolors[i]
                sup_color = self.vcolors[i + 1]
                break
        r = (value - inf_color[0]) / (sup_color[0] - inf_color[0])
        if not asQColor:
            return (sup_color[1][0] * r + inf_color[1][0] * (1 - r),
                    sup_color[1][1] * r + inf_color[1][1] * (1 - r),
                    sup_color[1][2] * r + inf_color[1][2] * (1 - r))

        from PyQt4.QtGui import QColor
        q = QColor()
        q.setRedF(sup_color[1][0] * r + inf_color[1][0] * (1 - r))
        q.setGreen(sup_color[1][1] * r + inf_color[1][1] * (1 - r))
        q.setBlueF(sup_color[1][2] * r + inf_color[1][2] * (1 - r))
        q.setAlphaF(alpha)
        return q
示例#3
0
    def getFormat(self, format):
        color = QColor()
        color.setRed(self.formats[format]['color'][0])
        color.setGreen(self.formats[format]['color'][1])
        color.setBlue(self.formats[format]['color'][2])
        format = QTextCharFormat()
        format.setForeground(color)

        return format
示例#4
0
文件: __init__.py 项目: nerdocs/MedUX
 def mergedColors(colorA: QColor, colorB: QColor, factor=50):
     """
     Creates a merged new QColor of colorA and colorB and returns it
     """
     maxFactor = 100
     tmp = QColor(colorA)
     tmp.setRed((tmp.red() * factor) / maxFactor + (colorB.red() * (maxFactor - factor)) / maxFactor)
     tmp.setGreen((tmp.green() * factor) / maxFactor + (colorB.green() * (maxFactor - factor)) / maxFactor)
     tmp.setBlue((tmp.blue() * factor) / maxFactor + (colorB.blue() * (maxFactor - factor)) / maxFactor)
     return tmp
示例#5
0
文件: theme.py 项目: kurokid/Ubezee
    def setTheme(self, color):
        c = QColor()
        c.setNamedColor(color)
        c.setRed(self.qMin(c.red() + 40, 255))
        c.setGreen(self.qMin(c.green() + 40, 255))
        c.setBlue(self.qMin(c.blue() + 40, 255))
        self.myTheme[0] = color
        self.myTheme[1] = c.name()

        try:
            f = open(COLOR_PATH, "w")
            for item in self.myTheme:
                f.write("%s\n" % item)
            f.close()
        except IOError:
            self.createConfig()