def drawTo(self, canvas: Canvas): canvas.context.move_to(self.start.x, self.start.y) for p in self.points: canvas.context.curve_to(p[0].x, p[0].y, p[1].x, p[1].y, p[2].x, p[2].y) if self.closed: canvas.context.close_path() canvas.context.set_operator(self.style['blend']) if self.style['fill']: color = Color(self.style["fill"]) canvas.context.set_source_rgba(color.get_red(), color.get_green(), color.get_blue(), self.style["opacity"]) canvas.context.fill_preserve() if self.style['line_cap']: canvas.context.set_line_cap(self.style['line_cap']) if self.style['stroke']: stroke_color = Color(self.style['stroke']) canvas.context.set_line_width(self.style['stroke_width']) canvas.context.set_source_rgba( stroke_color.get_red(), stroke_color.get_green(), stroke_color.get_blue(), resolve_cal(self.style['stroke_opacity'])) canvas.context.stroke() return self
def render(self, input_data, led_colors): for x in range(10): for y in range(5): top_id = settings.LED_MODEL['led-groups']['top'][y][x] if top_id != -1: led_colors[top_id * 3] = 0 led_colors[top_id * 3 + 1] = 0 led_colors[top_id * 3 + 2] = 0 n = self.tot x = self.loc rad = (x / 39) * 2 * pi color = Color(hue=(x / 39), saturation=1, luminance=0.5) ids = [[2, 0], [2, 1], [2, 2], [6, 0], [6, 1], [6, 2], [0, 3], [1, 4], [2, 4], [3, 4], [4, 4], [5, 4], [6, 4], [7, 4], [8, 3]] for led in ids: top_id = settings.LED_MODEL['led-groups']['top'][led[1]][led[0]] if top_id != -1: led_colors[top_id * 3] = int(color.get_red() * 255) led_colors[top_id * 3 + 1] = int(color.get_green() * 255) led_colors[top_id * 3 + 2] = int(color.get_blue() * 255) for t in range(n): prev = (x - t) % 40 falloff = (n - t - 1) / (n - 1) rad = (prev / 39) color = Color(hue=rad, saturation=1, luminance=0.5) for y in range(5): x_off = prev side = 'north' if prev < 10: pass elif prev < 20: x_off -= 10 side = 'west' elif prev < 30: x_off -= 20 side = 'south' else: x_off -= 30 side = 'east' led_id = settings.LED_MODEL['led-groups'][side][y][x_off] if led_id != -1: led_colors[led_id * 3] = int(color.get_red() * 255 * falloff) led_colors[led_id * 3 + 1] = int(color.get_green() * 255 * falloff) led_colors[led_id * 3 + 2] = int(color.get_blue() * 255 * falloff) self.loc = (x + 1) % n
def color_byte_array(color_value): """ convert color into a 3 byte bytearray :param color_value: 6-digit (e.g. #fa3b2c), 3-digit (e.g. #fbb), fully spelled color (e.g. white) """ color = Color(color_value) return bytearray([ int(round(color.get_red()*255)), int(round(color.get_green()*255)), int(round(color.get_blue()*255)), ])
def circle(self, pos, arc, color: Color = Color("black"), alpha: float = 1, strokecolor=None, strokewidth: int = 1): self.context.set_line_width(strokewidth) if strokecolor: self.context.set_source_rgba(strokecolor.get_red(), strokecolor.get_blue(), strokecolor.get_green(), alpha) self.context.arc(pos[0], pos[1], arc, 0, 2 * math.pi) self.context.stroke_preserve() self.context.set_source_rgba(color.get_red(), color.get_blue(), color.get_green(), alpha) self.context.fill() else: self.context.set_source_rgba(color.get_red(), color.get_blue(), color.get_green(), alpha) self.context.arc(pos[0], pos[1], arc, 0, 2 * math.pi) self.context.stroke()
def create_shader_of_color(self, color): all_shaders = cmds.ls(mat=True) repeated_shader = [shdr for shdr in all_shaders if shdr == color] if repeated_shader: print 'There already exists a shader called {}'.format(color) else: col = Color(color) shader = cmds.shadingNode('lambert', asShader=True, name=color) cmds.setAttr('{}.color'.format(shader), col.get_red(), col.get_green(), col.get_blue(), type='double3')
def dynamic_css_project(project_id: int): redis = current_app.config.get('SESSION_REDIS') cache_key = 'dynamic_css_project_%s' % project_id if not redis.exists(cache_key): from colour import Color import math project_api = sw.ProjectApi(api_client=g.api) project = project_api.projects_project_id_get(project_id=project_id) if project.id: cc = Color(color=project.accent_color) accent_color_rgb = '%s, %s, %s' % (math.floor( cc.get_red() * 255), math.floor( cc.get_green() * 255), math.floor(cc.get_blue() * 255)) cdn_base_url = current_app.config.get('CDN_BASE_URL') stylesheet_str = render_template('project.css.template', accent_color=project.accent_color, accent_color_rgb=accent_color_rgb, cdn_base_url=cdn_base_url) redis.set(cache_key, stylesheet_str, ex=60) else: abort(404) content = redis.get(cache_key) return Response(content, content_type='text/css')
def string_to_colornum(name): c = Color(name) r = int(c.get_red() * 255) g = int(c.get_green() * 255) b = int(c.get_blue() * 255) return (r, g, b)
def color_from_name(name): c = Color(name) r = int(c.get_red() * 255) g = int(c.get_green() * 255) b = int(c.get_blue() * 255) return compose_color(r, g, b)