private void cmd_import_colors() { var form = new FormImportColors(); var result = form.ShowDialog(); if (result == DialogResult.OK) { var colors = form.Colors; VPTRibbon.draw_colors(colors); } }
private void from_online() { this.Colors.Clear(); var url = new Uri(this.GetURL()); string authority = url.Authority.ToLower(); if (authority == "colourlovers.com" || authority == "www.colourlovers.com") { var tokens = url.AbsolutePath.ToLower().Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); bool incorrect_format = (tokens.Length < 2) || (tokens[0] != "palette"); if (incorrect_format) { string msg = "Incorrect format for ColourLovers URL"; MessageBox.Show(msg); return; } string palette_id = tokens[1]; var palette_api_url = "http://www.colourlovers.com/api/palette/" + palette_id; var xdoc = this.download_xml(palette_api_url); if (xdoc == null) { return; } var root = xdoc.Root; var palette_el = root.Element("palette"); var colors_el = palette_el.Element("colors"); var hex_els = colors_el.Elements("hex").ToList(); foreach (var hex_el in hex_els) { var color_str = "#" + hex_el.Value; var c = System.Drawing.ColorTranslator.FromHtml(color_str); this.Colors.Add(c); } } else if (authority == "kuler.adobe.com") { var tokens = url.Fragment.ToLower().Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); bool incorrect_format = tokens.Length < 2 || tokens[0] != "#themeid"; if (incorrect_format) { string msg = "Incorrect format for kuler URL"; MessageBox.Show(msg); return; } string theme_id = tokens[1]; var theme_api_url = "http://kuler.adobe.com/kuler/API/rss/search.cfm?searchQuery=themeid:" + theme_id + "&key=85387E02911F6599FB93A8EFF7173821"; var xdoc = this.download_xml(theme_api_url); if (xdoc == null) { return; } var root = xdoc.Root; FormImportColors.strip_namespaces(root); var palette_el = root.Element("channel").Element("item").Element("themeItem"); var colors_el = palette_el.Element("themeSwatches"); var hex_els = colors_el.Elements("swatch").ToList(); foreach (var hex_el in hex_els) { var shex = hex_el.Element("swatchHexColor"); var color_str = "#" + shex.Value; var c = System.Drawing.ColorTranslator.FromHtml(color_str); this.Colors.Add(c); } } else { string msg = "Unknown URL format"; MessageBox.Show(msg); } }