def convert_from_skp(self, skp_doc): sp = self.model skp = skp_doc.model sp.Name = skp.name.encode('utf-8') if skp.source: sp.comments += 'Palette source: ' + skp.source + '\n' if skp.comments: for item in skp.comments.splitlines(): sp.comments += item + '\n' sp.comments = sp.comments.encode('utf-8') for item in skp.colors: obj = SPColor() if item[0] == COLOR_SPOT: obj.Spot = '1' if item[1][1]: obj.CMYK = cms.cmyk_to_hexcolor(item[1][1]) else: obj.RGB = cms.rgb_to_hexcolor(item[1][0]) obj.NAME = '' + item[3].encode('utf-8') if item[3] == COLOR_REG: obj.Register = '1' elif item[0] == COLOR_CMYK: obj.CMYK = cms.cmyk_to_hexcolor(item[1]) obj.NAME = '' + item[3].encode('utf-8') elif item[0] == COLOR_RGB: obj.RGB = cms.rgb_to_hexcolor(item[1]) obj.NAME = '' + item[3].encode('utf-8') else: clr = self.cms.get_rgb_color(item) obj.RGB = cms.rgb_to_hexcolor(clr[1]) obj.NAME = '' + clr[3].encode('utf-8') sp.childs.append(obj)
def convert_from_skp(self, skp_doc): skp_model = skp_doc.model namesize = JCW_NAMESIZE for item in skp_model.colors: namesize = max(namesize, len(item[3])) if skp_model.colors[0][0] == uc2const.COLOR_CMYK: colorspace = JCW_CMYK else: colorspace = JCW_RGB self.model = JCW_Palette(colorspace, namesize) for color in skp_model.colors: if colorspace == JCW_CMYK: clr = self.cms.get_cmyk_color(color) else: clr = self.cms.get_rgb_color(color) if clr[3]: try: txt = clr[3].encode("iso-8859-1") except: clr[3] = "" if not clr[3]: if colorspace == JCW_CMYK: clr[3] += cms.cmyk_to_hexcolor(color[1]) else: clr[3] += cms.rgb_to_hexcolor(color[1]) self.model.childs.append(JCW_Color(colorspace, namesize, color)) self.model.update_for_save()
def set_color(self, color): self.color = color if color[2] == 1.0: self.set_value(cms.rgb_to_hexcolor(color[1])) else: self.set_value(cms.rgba_to_hexcolor(color[1] + [color[2], ])) self.hexcolor = self.get_value()
def add_color(self, line): if line[0] == '#' or not line:return parts = line.replace('\t', ' ') parts = parts.replace(' ', ' ').replace(' ', ' ').strip().split(' ') name = '' if len(parts) > 3: name = ' '.join(parts[3:]).decode('utf-8') if len(parts) < 3:return vals = parts[:3] r, g, b = map(lambda x:int(x), vals) if not name and self.config.set_color_name: name = cms.rgb_to_hexcolor(cms.val_255_to_dec((r, g, b))) self.model.colors.append([r, g, b, name])
def convert_from_skp(self, skp_doc): skp_model = skp_doc.model soc = self.model soc.name = '' + skp_model.name.encode('utf-8') soc.columns = skp_model.columns soc.comments = '' if skp_model.source: soc.comments += 'Palette source: ' + skp_model.source + '\n' soc.comments += skp_model.comments soc.comments = soc.comments.encode('utf-8') for item in skp_model.colors: color = self.cms.get_rgb_color(item)[1] rgb = cms.rgb_to_hexcolor(color) soc.colors.append([rgb, item[3].encode('utf-8')])
def activate(self, cms, orig_fill, new_color): fill = None if orig_fill and orig_fill[1] == sk2const.FILL_SOLID: fill = orig_fill if not new_color and fill: new_color = color_to_spot(fill[2]) elif not new_color and not fill: new_color = get_registration_black() else: new_color = color_to_spot(new_color) if not new_color[3]: new_color[3] = rgb_to_hexcolor(cms.get_rgb_color(new_color)[1]) SolidFillPanel.activate(self, cms, orig_fill, new_color) self.update()
def convert_from_skp(self, skp_doc): skp_model = skp_doc.model soc = self.model soc.name = skp_model.name soc.columns = skp_model.columns soc.comments = '' if skp_model.source: soc.comments += 'Palette source: ' + skp_model.source + '\n' soc.comments += skp_model.comments soc.comments = soc.comments for item in skp_model.colors: color = self.cms.get_rgb_color(item)[1] rgb = cms.rgb_to_hexcolor(color) soc.colors.append([rgb, item[3]])
def activate(self, cms, orig_fill, new_color): fill = None if orig_fill and orig_fill[1] == sk2_const.FILL_SOLID: fill = orig_fill if not new_color and fill: new_color = color_to_spot(fill[2]) elif not new_color and not fill: new_color = get_registration_black() else: new_color = color_to_spot(new_color) if not new_color[3]: new_color[3] = rgb_to_hexcolor(cms.get_rgb_color(new_color)[1]) SolidFillPanel.activate(self, cms, orig_fill, new_color) self.update()
def add_color(self, line): if line[0] == '#' or not line: return parts = line.replace('\t', ' ') parts = parts.replace(' ', ' ').replace(' ', ' ').strip().split(' ') name = '' if len(parts) > 3: name = ' '.join(parts[3:]) if len(parts) < 3: return vals = parts[:3] r, g, b = [int(x) for x in vals] if not name and self.config.set_color_name: name = cms.rgb_to_hexcolor(cms.val_255_to_dec((r, g, b))) self.model.colors.append([r, g, b, name])
def translate_stroke(self, style, paths): # print '---', style#, paths clr = self.sk2_doc.cms.get_rgb_color(style[1][2]) hex_color = cms.rgb_to_hexcolor(clr[1]) print 'hex_color', hex_color if not self.palette: self.palette.append(hex_color) if self.is_color_changed(hex_color): self.palette.append(hex_color) print 'new', hex_color self._chang_color() for path in paths: start_point = path[0] points = path[1] self.processor.jump_to(start_point[0], start_point[1]) self.processor.stitch_to(start_point[0], start_point[1]) for point in points: self.processor.stitch_to(point[0], point[1])
def rgbcolor(self, r, g, b, name=''): rgb = cms.val_255_to_dec([r, g, b]) if not name: name = cms.rgb_to_hexcolor(rgb) self.model.colors.append([uc2const.COLOR_RGB, rgb, 1.0, name])
def rgbcolor(self, r, g, b, name=''): rgb = cms.val_255_to_dec([r, g, b]) name = name or cms.rgb_to_hexcolor(rgb) name = name.encode('utf-8') if isinstance(name, unicode) else name self.model.colors.append([uc2const.COLOR_RGB, rgb, 1.0, name])
def __init__(self, app): gtk.VBox.__init__(self) self.app = app self.caption_label = gtk.Label(self.caption) spacer = gtk.VBox() self.add(spacer) self.set_border_width(15) self.set_size_request(385, 200) tab = gtk.Table(6, 2, False) tab.set_row_spacings(10) tab.set_col_spacings(10) spacer.add(tab) #--------------------------- label = gtk.Label(_('Desktop color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb1 = gtk.ColorButton() self.cb1.set_size_request(100, -1) self.cb1.set_title(_('Select desktop color')) self.cb1.set_color(gtk.gdk.Color(rgb_to_hexcolor( config.desktop_color))) tab.attach(self.cb1, 1, 2, 0, 1, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Axes color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 1, 2, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb2 = gtk.ColorButton() self.cb2.set_size_request(100, -1) self.cb2.set_title(_('Select axes color')) self.cb2.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.axes_color))) tab.attach(self.cb2, 1, 2, 1, 2, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Page background color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 2, 3, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb3 = gtk.ColorButton() self.cb3.set_size_request(100, -1) self.cb3.set_title(_('Select page background color')) self.cb3.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.page_color))) tab.attach(self.cb3, 1, 2, 2, 3, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Page border color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 3, 4, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb4 = gtk.ColorButton() self.cb4.set_size_request(100, -1) self.cb4.set_title(_('Select page border color')) self.cb4.set_color( gtk.gdk.Color(rgb_to_hexcolor(config.page_border_color))) tab.attach(self.cb4, 1, 2, 3, 4, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Paths color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 4, 5, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb5 = gtk.ColorButton() self.cb5.set_size_request(100, -1) self.cb5.set_title(_('Select paths color')) self.cb5.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.paths_color))) tab.attach(self.cb5, 1, 2, 4, 5, gtk.SHRINK, gtk.SHRINK) self.show_all()
def init_pallet(self): self.pallet = {} for idx, clr in FIG_COLORS.items(): if idx >= 0: hexcolor = cms.rgb_to_hexcolor(clr[1]) self.pallet[hexcolor] = idx
def __init__(self, app): gtk.VBox.__init__(self) self.app = app self.caption_label = gtk.Label(self.caption) spacer = gtk.VBox() self.add(spacer) self.set_border_width(15) self.set_size_request(385, 200) tab = gtk.Table(6, 2, False) tab.set_row_spacings(10) tab.set_col_spacings(10) spacer.add(tab) #--------------------------- label = gtk.Label(_('Desktop color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb1 = gtk.ColorButton() self.cb1.set_size_request(100, -1) self.cb1.set_title(_('Select desktop color')) self.cb1.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.desktop_color))) tab.attach(self.cb1, 1, 2, 0, 1, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Axes color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 1, 2, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb2 = gtk.ColorButton() self.cb2.set_size_request(100, -1) self.cb2.set_title(_('Select axes color')) self.cb2.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.axes_color))) tab.attach(self.cb2, 1, 2, 1, 2, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Page background color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 2, 3, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb3 = gtk.ColorButton() self.cb3.set_size_request(100, -1) self.cb3.set_title(_('Select page background color')) self.cb3.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.page_color))) tab.attach(self.cb3, 1, 2, 2, 3, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Page border color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 3, 4, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb4 = gtk.ColorButton() self.cb4.set_size_request(100, -1) self.cb4.set_title(_('Select page border color')) self.cb4.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.page_border_color))) tab.attach(self.cb4, 1, 2, 3, 4, gtk.SHRINK, gtk.SHRINK) #--------------------------- label = gtk.Label(_('Paths color:')) label.set_alignment(0, 0.5) tab.attach(label, 0, 1, 4, 5, gtk.FILL | gtk.EXPAND, gtk.SHRINK) self.cb5 = gtk.ColorButton() self.cb5.set_size_request(100, -1) self.cb5.set_title(_('Select paths color')) self.cb5.set_color(gtk.gdk.Color(rgb_to_hexcolor(config.paths_color))) tab.attach(self.cb5, 1, 2, 4, 5, gtk.SHRINK, gtk.SHRINK) self.show_all()
def color_mix(color1, color2, coef=0.5): rgb = cms.mix_lists(color1[1], color2[1], coef) a = cms.mix_vals(color1[2], color2[2], coef) name = cms.rgb_to_hexcolor(rgb) return [COLOR_RGB, rgb, a, name]