Exemplo n.º 1
0
    def update(self):
        self.name_field.set_value(self.color[3])
        txt = 'RGB: '
        if self.color[1][0]:
            txt += verbose_color(self.cms.get_rgb_color(self.color))
        else:
            txt += '---'
        self.rgb_txt.set_text(txt)

        txt = 'CMYK: '
        if self.color[1][1]:
            txt += verbose_color(self.cms.get_cmyk_color(self.color))
        else:
            txt += '---'
        self.cmyk_txt.set_text(txt)

        # Alpha slider
        start_clr = deepcopy(self.color)
        start_clr[2] = 0.0
        stop_clr = deepcopy(self.color)
        stop_clr[2] = 1.0
        start_clr = self.cms.get_rgba_color255(start_clr)
        stop_clr = self.cms.get_rgba_color255(stop_clr)
        self.alpha_slider.set_value(self.color[2], start_clr, stop_clr)
        self.alpha_spin.set_value(self.color[2] * 255.0)
Exemplo n.º 2
0
	def update(self):
		self.name_field.set_value(self.color[3])
		txt = 'RGB: '
		if self.color[1][0]:
			txt += verbose_color(self.cms.get_rgb_color(self.color))
		else:
			txt += '---'
		self.rgb_txt.set_text(txt)

		txt = 'CMYK: '
		if self.color[1][1]:
			txt += verbose_color(self.cms.get_cmyk_color(self.color))
		else:
			txt += '---'
		self.cmyk_txt.set_text(txt)

		# Alpha slider
		start_clr = deepcopy(self.color)
		start_clr[2] = 0.0
		stop_clr = deepcopy(self.color)
		stop_clr[2] = 1.0
		start_clr = self.cms.get_rgba_color255(start_clr)
		stop_clr = self.cms.get_rgba_color255(stop_clr)
		self.alpha_slider.set_value(self.color[2], start_clr, stop_clr)
		self.alpha_spin.set_value(self.color[2] * 255.0)
Exemplo n.º 3
0
 def convert_from_skp(self, skp_doc):
     skp_model = skp_doc.model
     self.model.childs.append(ASE_Group('' + skp_model.name))
     for item in skp_model.colors:
         if item[0] == uc2const.COLOR_SPOT:
             marker = ase_const.ASE_SPOT
             if item[1][0] and item[1][0]:
                 if self.config.prefer_cmyk_for_spot:
                     cs = ase_const.ASE_CMYK
                     vals = tuple(deepcopy(item[1][1]))
                 else:
                     cs = ase_const.ASE_RGB
                     vals = tuple(deepcopy(item[1][0]))
             elif item[1][0] and not item[1][0]:
                 cs = ase_const.ASE_RGB
                 vals = tuple(deepcopy(item[1][0]))
             else:
                 cs = ase_const.ASE_CMYK
                 vals = tuple(deepcopy(item[1][1]))
         else:
             marker = ase_const.ASE_PROCESS
             cs = ase_const.CS_MATCH[item[0]]
             vals = tuple(deepcopy(item[1]))
         if item[3]: name = '' + item[3]
         else: name = cms.verbose_color(item)
         self.model.childs.append(ASE_Color(name, cs, vals, marker))
     self.model.childs.append(ASE_Group_End())
     self.model.do_update(self)
Exemplo n.º 4
0
	def convert_from_skp(self, skp_doc):
		skp_model = skp_doc.model
		self.model.childs.append(ASE_Group('' + skp_model.name))
		for item in skp_model.colors:
			if item[0] == uc2const.COLOR_SPOT:
				marker = ase_const.ASE_SPOT
				if item[1][0] and item[1][0]:
					if self.config.prefer_cmyk_for_spot:
						cs = ase_const.ASE_CMYK
						vals = tuple(deepcopy(item[1][1]))
					else:
						cs = ase_const.ASE_RGB
						vals = tuple(deepcopy(item[1][0]))
				elif item[1][0] and not item[1][0]:
					cs = ase_const.ASE_RGB
					vals = tuple(deepcopy(item[1][0]))
				else:
					cs = ase_const.ASE_CMYK
					vals = tuple(deepcopy(item[1][1]))
			else:
				marker = ase_const.ASE_PROCESS
				cs = ase_const.CS_MATCH[item[0]]
				vals = tuple(deepcopy(item[1]))
			if item[3]: name = '' + item[3]
			else: name = cms.verbose_color(item)
			self.model.childs.append(ASE_Color(name, cs, vals, marker))
		self.model.childs.append(ASE_Group_End())
		self.model.do_update(self)
Exemplo n.º 5
0
 def __init__(self, color=None):
     CPL7_Color.__init__(self)
     if color:
         self.colorspace, self.valbytes = cdr_utils.get_cdr_color(color)
         if color[3]:
             self.name = color[3]
         else:
             self.name = cms.verbose_color(color)
Exemplo n.º 6
0
 def set_color(self, color):
     if not color:
         return
     txt = '???' if not color[3] else color[3]
     self.name_field.set_text(txt)
     self.color_swatch.set_color(color)
     self.color_type.set_text(color[0] + ' ' + _('color'))
     if not color[0] == uc2const.COLOR_SPOT:
         self.line1.set_text(cms.verbose_color(color))
         self.line2.set_text('')
     else:
         txt1 = txt2 = ''
         if color[1][0]:
             txt1 = cms.verbose_color(self.cms.get_rgb_color(color))
         if color[1][1]:
             txt2 = cms.verbose_color(self.cms.get_cmyk_color(color))
         self.line1.set_text(txt1)
         self.line2.set_text(txt2)
     self.parent.layout()
Exemplo n.º 7
0
	def set_color(self, color):
		if not color: return
		txt = '' + color[3]
		if not txt: txt = '???'
		self.name_field.set_text(txt)
		self.color_swatch.set_color(color)
		self.color_type.set_text(color[0] + ' ' + _('color'))
		if not color[0] == uc2const.COLOR_SPOT:
			self.line1.set_text(cms.verbose_color(color))
			self.line2.set_text('')
		else:
			txt1 = ''
			txt2 = ''
			if color[1][0]:
				txt1 = cms.verbose_color(self.cms.get_rgb_color(color))
			if color[1][1]:
				txt2 = cms.verbose_color(self.cms.get_cmyk_color(color))
			self.line1.set_text(txt1)
			self.line2.set_text(txt2)
		self.parent.layout()
Exemplo n.º 8
0
    def update_from_obj(self, obj):
        text = _('Fill:')
        self.cms = self.app.current_doc.cms
        if self.app.insp.is_obj_pixmap(obj):
            text = _('Fg:')
            self.set_swatch_fill(
                [sk2const.FILL_EVENODD, sk2const.FILL_SOLID, obj.style[3][0]])
        else:
            fill = obj.style[0]
            self.set_swatch_fill(fill)
            if fill:
                if fill[1] == sk2const.FILL_SOLID:
                    text += ' ' + cms.verbose_color(fill[2])
            else:
                text += ' ' + _('None')

        self.label.set_text(text)
Exemplo n.º 9
0
	def update_from_obj(self, obj):
		text = _('Fill:')
		self.cms = self.app.current_doc.cms
		if self.app.insp.is_obj_pixmap(obj):
			text = _('Fg:')
			self.set_swatch_fill([sk2_const.FILL_EVENODD, sk2_const.FILL_SOLID,
								obj.style[3][0]])
		else:
			fill = obj.style[0]
			self.set_swatch_fill(fill)
			if fill:
				if fill[1] == sk2_const.FILL_SOLID:
					text += ' ' + cms.verbose_color(fill[2])
			else:
				text += ' ' + _('None')

		self.label.set_text(text)
Exemplo n.º 10
0
def color2aco_chunk(color, version=ACO1_VER):
    chunk = b''
    model = color[0]
    vals = color[1]
    if model == uc2const.COLOR_RGB:
        chunk += struct.pack('>H', ACO_RGB)
        vals = [int(round(x * 65535)) for x in vals]
        for item in vals:
            chunk += struct.pack('>H', item)
        chunk += b'\x00\x00'
    elif model == uc2const.COLOR_CMYK:
        chunk += struct.pack('>H', ACO_WIDE_CMYK)
        vals = [int(round(x * 10000)) for x in vals]
        for item in vals:
            chunk += struct.pack('>H', item)
    elif model == uc2const.COLOR_GRAY:
        chunk += struct.pack('>H', ACO_GRAY)
        val = int(round(vals[0] * 10000))
        chunk += struct.pack('>H', val) + 3 * b'\x00\x00'
    elif model == uc2const.COLOR_SPOT:
        if vals[0]:
            vals = vals[0]
            chunk += struct.pack('>H', ACO_RGB)
            vals = [int(round(x * 65535)) for x in vals]
            for item in vals:
                chunk += struct.pack('>H', item)
            chunk += b'\x00\x00'
        else:
            vals = vals[1]
            chunk += struct.pack('>H', ACO_WIDE_CMYK)
            vals = [int(round(x * 10000)) for x in vals]
            for item in vals:
                chunk += struct.pack('>H', item)

    if version == ACO2_VER:
        chunk += b'\x00\x00'
        name = color[3]
        if not name:
            name = cms.verbose_color(color)
        chunk += struct.pack('>H', len(name) + 1)
        chunk += name.encode('utf_16_be') + b'\x00\x00'
    return chunk
Exemplo n.º 11
0
	def _on_timer(self, event):
		mouse_pos = wx.GetMousePosition()
		x, y = self.GetScreenPosition()
		w, h = self.GetSize()
		rect = wx.Rect(x, y, w, h)
		if not rect.Inside(mouse_pos):
			self.timer.Stop()
			self.set_tip()
		else:
			if self.mouse_screen_pos == self.last_mouse_pos:
				if not self.tip:
					color = self.get_color_on_y(self.mouse_pos[1])
					color_name = ''
					color_txt = verbose_color(color)
					if not color[0] == 'SPOT' and color[3]:
						color_name = '' + color[3]
					self.tip = (color_name, color_txt)
					self.set_tip(self.tip)
			else:
				self.last_mouse_pos = self.mouse_screen_pos
				self.tip = ''
				self.set_tip()
Exemplo n.º 12
0
 def _on_timer(self, event):
     mouse_pos = wx.GetMousePosition()
     x, y = self.GetScreenPosition()
     w, h = self.GetSize()
     rect = wx.Rect(x, y, w, h)
     if not rect.Inside(mouse_pos):
         self.timer.Stop()
         self.set_tip()
     else:
         if self.mouse_screen_pos == self.last_mouse_pos:
             if not self.tip:
                 color = self.get_color_on_y(self.mouse_pos[1])
                 color_name = ''
                 color_txt = verbose_color(color)
                 if not color[0] == 'SPOT' and color[3]:
                     color_name = '' + color[3]
                 self.tip = (color_name, color_txt)
                 self.set_tip(self.tip)
         else:
             self.last_mouse_pos = self.mouse_screen_pos
             self.tip = ''
             self.set_tip()
Exemplo n.º 13
0
def aco_chunk2color(chunk):
    color = [uc2const.COLOR_RGB, [], 1.0, '', '']
    model = struct.unpack('>H', chunk[:2])[0]
    vals = chunk[2:10]
    if model == ACO_RGB:
        clr = struct.unpack('>3H', vals[:6])
        color[1] = [x / 65535.0 for x in clr]
    elif model == ACO_HSB:
        clr = struct.unpack('>3H', vals[:6])
        color[1] = colorsys.hsv_to_rgb(*[x / 65535.0 for x in clr])
    elif model == ACO_CMYK:
        clr = struct.unpack('>4H', vals)
        color[0] = uc2const.COLOR_CMYK
        color[1] = [1.0 - x / 65535.0 for x in clr]
    elif model == ACO_LAB:
        l, a, b = struct.unpack('>H 2h', vals[:6])
        clr = (l / 10000.0, (a / 100.0 + 128.0) / 255.0,
               (b / 100.0 + 128.0) / 255.0)
        color[1] = cms.lab_to_rgb(clr)
    elif model == ACO_GRAY:
        color[0] = uc2const.COLOR_GRAY
        color[1] = [
            struct.unpack('>H', vals[:2])[0] / 10000.0,
        ]
    elif model == ACO_WIDE_CMYK:
        clr = struct.unpack('>4H', vals)
        color[0] = uc2const.COLOR_CMYK
        color[1] = [float(x) / 10000.0 for x in clr]
    else:
        return None
    if len(chunk) > 10:
        name = chunk[12:-2]
        if chunk[12:13] < b'\x00\x1f':
            name = name[2:]
        color[3] = name.decode('utf_16_be').strip()
    else:
        color[3] = cms.verbose_color(color)
    return color
Exemplo n.º 14
0
 def get_color_name(self, color):
     if not len(color) < 4 and color[3]:
         return color[3]
     else:
         return verbose_color(color)
Exemplo n.º 15
0
	def __init__(self, color=None):
		CPL7_Color.__init__(self)
		if color:
			self.colorspace, self.valbytes = cdr_utils.get_cdr_color(color)
			if color[3]: self.name = '' + color[3]
			else: self.name = cms.verbose_color(color)
Exemplo n.º 16
0
	def get_color_name(self, color):
		if not len(color) < 4 and color[3]:
			return color[3]
		else:
			return verbose_color(color)