コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }

        }
コード例 #3
0
        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);
            }
        }