def convert_to_skp(self, skp_doc): skp = skp_doc.model skp.name = self.model.Name.decode('utf-8') if not skp.name: if self.doc_file: name = os.path.basename(self.doc_file) skp.name = name.replace('.xml', '').replace('_', ' ') else: skp.name = self.config.default_name if self.doc_file: filename = os.path.basename(self.doc_file) skp.comments = 'Converted from %s' % filename skp.source = '' + self.config.source for item in self.model.childs: color = None if item.Register == '1': color = cms.get_registration_black() if item.Spot == '1': rgb = [] cmyk = [] if item.RGB: rgb = cms.hexcolor_to_rgb(item.RGB) if item.CMYK: cmyk = cms.hexcolor_to_cmyk(item.CMYK) name = item.NAME.decode('utf-8') color = [COLOR_SPOT, [rgb, cmyk], 1.0, name] elif item.CMYK: cmyk = cms.hexcolor_to_cmyk(item.CMYK) name = item.NAME.decode('utf-8') color = [COLOR_CMYK, cmyk, 1.0, name] elif item.RGB: rgb = cms.hexcolor_to_rgb(item.RGB) name = item.NAME.decode('utf-8') color = [COLOR_RGB, rgb, 1.0, name] else: continue skp.colors.append(color)
def get_style(self): fill = [] text_style = [] rgb = cms.hexcolor_to_rgb(self.hex_color) color = [uc2const.COLOR_RGB, rgb, 1.0, self.hex_color] width = self.rope_width stroke = self.get_stroke(color, width) return [fill, stroke, text_style, []]
def parse_svg_color(sclr, alpha=1.0, current_color=''): clr = deepcopy(svg_colors.SVG_COLORS['black']) clr[2] = alpha if sclr == 'currentColor' and current_color: sclr = current_color if sclr[0] == '#': if 'icc-color' in sclr: vals = sclr.split('icc-color(')[1].replace(')', '').split(',') if len(vals) == 5: color_vals = [] try: color_vals = [float(x) for x in vals[1:]] except: pass if color_vals and len(color_vals) == 4: return [uc2const.COLOR_CMYK, color_vals, alpha, ''] elif 'device-cmyk' in sclr: vals = sclr.split('device-cmyk(')[1].replace(')', '').split(',') if len(vals) in (3, 4): color_vals = [] try: color_vals = [float(x) for x in vals[1:]] except: pass if color_vals and len(color_vals) in (3, 4): if len(color_vals) == 3: color_vals.append(0.0) return [uc2const.COLOR_CMYK, color_vals, alpha, ''] sclr = sclr.split(' ')[0] try: vals = cms.hexcolor_to_rgb(sclr) clr = [uc2const.COLOR_RGB, vals, alpha, ''] except: pass elif sclr[:4] == 'rgb(': vals = sclr[4:].split(')')[0].split(',') if len(vals) == 3: decvals = [] for val in vals: val = val.strip() if '%' in val: decval = float(val.replace('%', '')) if decval > 100.0: decval = 100.0 if decval < 0.0: decval = 0.0 decval = decval / 100.0 else: decval = float(val) if decval > 255.0: decval = 255.0 if decval < 0.0: decval = 0.0 decval = decval / 255.0 decvals.append(decval) clr = [uc2const.COLOR_RGB, decvals, alpha, ''] else: if sclr in svg_colors.SVG_COLORS: clr = deepcopy(svg_colors.SVG_COLORS[sclr]) clr[2] = alpha return clr
def __init__(self, parent, colors=COLORS, size=(25, 25), onclick=None): wal.VPanel.__init__(self, parent) self.grid = wal.GridPanel(self, 1, len(colors), 1, 1) self.cells = [] for item in colors: color = cms.val_255(cms.hexcolor_to_rgb(item)) cell = ColorCell(self, color, size, onclick) self.grid.pack(cell) self.cells.append(cell) self.pack(self.grid, padding_all=1) self.set_enable(True)
def on_hex_change(self): hexcolor = self.html.get_color() if len(hexcolor) == 7: self.color[1] = cms.hexcolor_to_rgb(hexcolor) self.color[2] = 1.0 elif len(hexcolor) == 9: r, g, b, a = cms.hexcolor_to_rgba(hexcolor) self.color[1] = [r, g, b] self.color[2] = a if self.callback: self.callback() else: self.update()
def __init__(self, parent, colors=COLORS, size=(25, 25), onclick=None): wal.VPanel.__init__(self, parent) self.grid = wal.GridPanel(self, 1 , len(colors), 1 , 1) self.cells = [] for item in colors: color = cms.val_255(cms.hexcolor_to_rgb(item)) cell = ColorCell(self, color, size, onclick) self.grid.pack(cell) self.cells.append(cell) self.pack(self.grid, padding_all=1) self.set_enable(True)
def convert_to_skp(self, skp_doc): skp_model = skp_doc.model skp_model.name = 'EDR palette' skp_model.source = 'EDR palette' if self.doc_file: filename = os.path.basename(self.doc_file) skp_model.name = '%s' % filename.split('.')[0] skp_model.comments += 'Converted from %s' % filename for index, child in enumerate(self.model.childs, 1): color_val = cms.hexcolor_to_rgb(child.hexcolor) color_name = "{:03d} - {}".format(index, child.hexcolor) clr = [uc2const.COLOR_RGB, color_val, 1.0, color_name] skp_model.colors.append(clr)
def convert_to_skp(self, skp_doc): skp_model = skp_doc.model if self.doc_file: skp_model.name = os.path.basename(self.doc_file).replace('.soc', '') skp_model.name += ' palette' else: skp_model.name = 'SOC palette' skp_model.source = '' + self.model.source skp_model.columns = self.model.columns skp_model.comments = '' + self.model.comments.decode('utf-8') if self.doc_file: filename = os.path.basename(self.doc_file) if skp_model.comments:skp_model.comments += 'n' skp_model.comments += 'Converted from %s' % filename for item in self.model.colors: rgb, name = item clr = cms.hexcolor_to_rgb(rgb) skp_model.colors.append([COLOR_RGB, clr, 1.0, name.decode('utf-8')])
def convert_to_skp(self, skp_doc): skp_model = skp_doc.model if self.doc_file: skp_model.name = os.path.basename(self.doc_file).replace('.soc', '') skp_model.name += ' palette' else: skp_model.name = 'SOC palette' skp_model.source = '' + self.model.source skp_model.columns = self.model.columns skp_model.comments = '' + self.model.comments.decode('utf-8') if self.doc_file: filename = os.path.basename(self.doc_file) if skp_model.comments: skp_model.comments += 'n' skp_model.comments += 'Converted from %s' % filename for item in self.model.colors: rgb, name = item clr = cms.hexcolor_to_rgb(rgb) skp_model.colors.append([COLOR_RGB, clr, 1.0, name.decode('utf-8')])
def hexcolor(self, hexcolor, name=''): rgb = cms.hexcolor_to_rgb(hexcolor) name = name or hexcolor name = name.encode('utf-8') if isinstance(name, unicode) else name self.model.colors.append([uc2const.COLOR_RGB, rgb, 1.0, name])
def hexcolor(self, hexcolor, name=''): rgb = cms.hexcolor_to_rgb(hexcolor) if not name: name = '' + hexcolor self.model.colors.append([uc2const.COLOR_RGB, rgb, 1.0, name])
def translate_color(self, obj, cfg): if obj.idx not in FIG_COLORS: rgb = cms.hexcolor_to_rgb(obj.hexcolor) color = [uc2const.COLOR_RGB, rgb, 1.0, obj.hexcolor] self.pallet[obj.idx] = color