def _rgbFind(self, color): "see if it matches any existing color in my list" C = self.cmykColors if isinstance(color, (list, tuple)): if len(color) == 3: color = Color(color[0], color[1], color[2]) elif len(color) == 4: color = CMYKColor(color[0], color[1], color[2], color[3]) else: raise ValueError("bad color %s" % repr(color)) isCMYK = isinstance(color, CMYKColor) if not isCMYK: if isinstance(color, str): color = toColor(color) if colorDistance(color, black) < 1e-8: isCMYK = 1 color = PCMYKColor(0, 0, 0, 100, 100) elif colorDistance(color, white) < 1e-8: isCMYK = 1 color = PCMYKColor(0, 0, 0, 0, 100) rgb = color.red, color.green, color.blue if isCMYK: if color not in C: C.append(color) return self._setCMYKColor(color) else: for c in C: if (c.red, c.green, c.blue) == rgb: return self._setCMYKColor(c) return '%s setrgbcolor' % fp_str(rgb)
def _rgbFind(self,color): "see if it matches any existing color in my list" C = self.cmykColors if isinstance(color,(list,tuple)): if len(color)==3: color = Color(color[0],color[1],color[2]) elif len(color)==4: color = CMYKColor(color[0],color[1],color[2],color[3]) else: raise ValueError("bad color %s"%repr(color)) isCMYK = isinstance(color, CMYKColor) if not isCMYK: if isinstance(color,str): color = toColor(color) if colorDistance(color,black)<1e-8: isCMYK = 1 color = PCMYKColor(0,0,0,100,100) elif colorDistance(color,white)<1e-8: isCMYK = 1 color = PCMYKColor(0,0,0,0,100) rgb = color.red, color.green, color.blue if isCMYK: if color not in C: C.append(color) return self._setCMYKColor(color) else: for c in C: if (c.red, c.green, c.blue) == rgb: return self._setCMYKColor(c) return '%s setrgbcolor' % fp_str(rgb)
def test1(self): "Test colorDistance function." cols = list(colors.getAllNamedColors().values()) for col in cols: d = colors.colorDistance(col, col) assert d == 0
def test1(self): "Test colorDistance function." cols = colors.getAllNamedColors().values() for col in cols: d = colors.colorDistance(col, col) assert d == 0
def getLinkColor(): color1 = getColor1() distance = colors.colorDistance(color1, colors.white) / sqrt(3) return colors.Blacker(color1, distance)