Example #1
0
        public void MalformatTest7()
        {
            WebColorConverter conv;

            conv = new WebColorConverter();
            Assert.AreEqual(Color.FromArgb(255, 254, 254, 254), conv.ConvertFrom(null, null, "garbage"), "M7");
        }
        public void MalformatTest1()
        {
            WebColorConverter conv;

            conv = new WebColorConverter();
            Assert.AreEqual(Color.Fuchsia, conv.ConvertFrom(null, null, "\rFuchsi\na\n"), "M1");
        }
Example #3
0
        public void MalformatTest6()
        {
            WebColorConverter conv;

            conv = new WebColorConverter();
            Assert.AreEqual(Color.Fuchsia, conv.ConvertFrom(null, null, "#Fuchsia"), "M6");
        }
Example #4
0
        public void MalformatTest4()
        {
            WebColorConverter conv;

            conv = new WebColorConverter();
            Assert.AreEqual(Color.FromArgb(255, 1, 2, 3), conv.ConvertFrom(null, null, "#010203 Garbage"), "M4");
        }
Example #5
0
        //[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "V", Justification = "V stands for value")]
        //[SuppressMessage("Microsoft.Naming", "CA1715:IdentifiersShouldHaveCorrectPrefix", MessageId = "T", Justification = "V stands for value")]
        /// <summary>获取属性值</summary>
        /// <typeparam name="V"></typeparam>
        /// <param name="propertyName"></param>
        /// <param name="nullValue"></param>
        /// <returns></returns>
        protected V GetPropertyValue <V>(string propertyName, V nullValue)
        {
            if (ViewState[propertyName] == null)
            {
                //+ 控件状态没有设置时,使用配置文件的全局设置
                String name = this.GetType().FullName + "." + propertyName;
                if (typeof(V) == typeof(String) ||
                    typeof(V) == typeof(Int32) ||
                    typeof(V) == typeof(Boolean))
                {
                    return(Config.GetConfig <V>(name, nullValue));
                }

                if (typeof(V) == typeof(Color))
                {
                    String str = Config.GetConfig <String>(name, null);
                    if (!String.IsNullOrEmpty(str))
                    {
                        TypeConverter convert = new WebColorConverter();
                        try
                        {
                            return((V)convert.ConvertFromString(str));
                        }
                        catch { }
                    }
                }

                return(nullValue);
            }
            return((V)ViewState[propertyName]);
        }
Example #6
0
        public void MalformatTest5()
        {
            WebColorConverter conv;

            conv = new WebColorConverter();
            // Overflow
            Assert.AreEqual(Color.FromArgb(255, 254, 254, 254), conv.ConvertFrom(null, null, "4294901502"), "M5");
        }
Example #7
0
        public void RoundTrip()
        {
            WebColorConverter wcc = new WebColorConverter();

            Color c = (Color)wcc.ConvertFrom(null, null, " captiontext ");

            Assert.AreEqual("ActiveCaptionText", wcc.ConvertTo(null, null, c, typeof(string)), "#1");
        }
Example #8
0
        public void Basic()
        {
            WebColorConverter conv;
            Color             c;

            conv = new WebColorConverter();

            Assert.AreEqual(true, conv.CanConvertFrom(null, typeof(string)), "B1");
            Assert.AreEqual(true, conv.CanConvertTo(null, typeof(string)), "B2");
            Assert.AreEqual(false, conv.CanConvertFrom(null, typeof(int)), "B3");
            Assert.AreEqual(false, conv.CanConvertTo(null, typeof(int)), "B4");

            c = Color.Fuchsia;
            Assert.AreEqual("Fuchsia", conv.ConvertTo(null, null, c, typeof(string)), "B5");

            c = Color.FromArgb(1, 2, 3);
            Assert.AreEqual("#010203", conv.ConvertTo(null, null, c, typeof(string)), "B6");

            c = Color.FromArgb(5, 1, 2, 3);
            Assert.AreEqual("#010203", conv.ConvertTo(null, null, c, typeof(string)), "B7");

            c = Color.FromArgb(254, 253, 252);
            Assert.AreEqual("#FEFDFC", conv.ConvertTo(null, null, c, typeof(string)), "B8");

            c = Color.FromKnownColor(KnownColor.BlanchedAlmond);
            Assert.AreEqual("BlanchedAlmond", conv.ConvertTo(null, null, c, typeof(string)), "B9");

            c = Color.FromName("OingoBoingo");
            Assert.AreEqual("#000000", conv.ConvertTo(null, null, c, typeof(string)), "B10");

            Assert.AreEqual(Color.FromArgb(0, 0, 79, 80), conv.ConvertFrom(null, null, "020304"), "B11");
            Assert.AreEqual(Color.FromArgb(0, 0, 79, 80), conv.ConvertFrom(null, null, "20304"), "B12");
            Assert.AreEqual(Color.FromArgb(127, 255, 255, 255), conv.ConvertFrom(null, null, "2147483647"), "B13");
            Assert.AreEqual(Color.FromArgb(128, 0, 0, 1), conv.ConvertFrom(null, null, "-2147483647"), "B14");
            Assert.AreEqual(Color.FromArgb(255, 2, 3, 4), conv.ConvertFrom(null, null, "#FF020304"), "B15");
            Assert.AreEqual(Color.FromArgb(2, 3, 4), conv.ConvertFrom(null, null, "#020304"), "B16");
            Assert.AreEqual(Color.FromArgb(0, 2, 3, 4), conv.ConvertFrom(null, null, "#20304"), "B17");
            Assert.AreEqual(Color.Fuchsia, conv.ConvertFrom(null, null, "Fuchsia"), "B18");
            Assert.AreEqual(Color.FromArgb(0, 0, 2, 52), conv.ConvertFrom(null, null, "#234"), "B19");

            // Garbage/whitespace tests
            c = Color.FromName("\rGarbage\n");
            Assert.AreEqual("#000000", conv.ConvertTo(null, null, c, typeof(string)), "B20");
            Assert.AreEqual(Color.Fuchsia, conv.ConvertFrom(null, null, "\rFuchsia\n"), "B21");
            Assert.AreEqual(Color.FromArgb(255, 1, 2, 3), conv.ConvertFrom(null, null, "#010203"), "B22");

            Assert.AreEqual(Color.Empty, conv.ConvertFrom(null, null, ""), "B23");

            Assert.AreEqual(Color.FromArgb(0, 0, 0, 1), conv.ConvertFrom(null, null, "#1"), "B24");
            Assert.AreEqual(Color.FromArgb(0, 0, 0, 0x12), conv.ConvertFrom(null, null, "#12"), "B25");
            Assert.AreEqual(Color.FromArgb(0, 0, 1, 0x23), conv.ConvertFrom(null, null, "#123"), "B26");
            Assert.AreEqual(Color.FromArgb(0, 0, 0x12, 0x34), conv.ConvertFrom(null, null, "#1234"), "B27");
            Assert.AreEqual(Color.FromArgb(0, 1, 0x23, 0x45), conv.ConvertFrom(null, null, "#12345"), "B28");
            Assert.AreEqual(Color.FromArgb(0xff, 0x12, 0x34, 0x56), conv.ConvertFrom(null, null, "#123456"), "B29");
            Assert.AreEqual(Color.FromArgb(0x1, 0x23, 0x45, 0x67), conv.ConvertFrom(null, null, "#1234567"), "B30");
            Assert.AreEqual(Color.FromArgb(0x12, 0x34, 0x56, 0x78), conv.ConvertFrom(null, null, "#12345678"), "B31");
        }
        /// <summary>
        /// 获取图片
        /// </summary>
        public byte[] GetImage()
        {
            Bitmap   image = new Bitmap(validateCode.Length * 20, 35);
            Graphics g     = Graphics.FromImage(image);

            try
            {
                WebColorConverter ww = new WebColorConverter();
                g.Clear((Color)ww.ConvertFromString("#" + validateColor));
                Random random = new Random();

                //画图片的噪音线
                for (int i = 0; i < 12; i++)
                {
                    int x1 = random.Next(image.Width);
                    int x2 = random.Next(image.Width);
                    int y1 = random.Next(image.Height);
                    int y2 = random.Next(image.Height);
                    g.DrawLine(new Pen(Color.LightGray), x1, y1, x2, y2);
                }

                Font font = new Font("Georgia", 20, FontStyle.Bold | FontStyle.Italic);
                LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Gray, 1.2f, true);
                g.DrawString(validateCode, font, brush, 0, 0);

                //画图片的噪音点
                for (int i = 0; i < 12; i++)
                {
                    int x = random.Next(image.Width);
                    int y = random.Next(image.Height);
                    image.SetPixel(x, y, Color.White);
                }
                //画图片的噪音线
                for (int i = 0; i < 12; i++)
                {
                    int x1 = random.Next(image.Width);
                    int x2 = random.Next(image.Width);
                    int y1 = random.Next(image.Height);
                    int y2 = random.Next(image.Height);
                    g.DrawLine(new Pen(Color.FromArgb(random.Next())), x1, y1, x2, y2);
                }

                //画图片的边框线
                //g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

                MemoryStream ms = new MemoryStream();

                image.Save(ms, ImageFormat.Gif);

                return(ms.ToArray());
            }
            finally
            {
                g.Dispose();
                image.Dispose();
            }
        }
Example #10
0
    protected void HideLabels(Label lblToShow, string color)
    {
        lblDeleteStatus.Visible = false;
        lblFileUploaded.Visible = false;
        lblMessage.Visible      = false;

        lblToShow.Visible = true;
        WebColorConverter converter = new WebColorConverter();

        lblToShow.ForeColor = (System.Drawing.Color)converter.ConvertFromString(color);
    }
Example #11
0
        /*产生验证图片*/
        public Bitmap CreateImage(string code)
        {
            Bitmap image = new Bitmap(90, 30);

            Graphics          g  = Graphics.FromImage(image);
            WebColorConverter ww = new WebColorConverter();

            g.Clear(Color.White);

            Random random = new Random();

            ////画图片的背景噪音线
            for (int i = 0; i < 25; i++)
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);
                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
            }
            Font font = new Font("Arial", 18, FontStyle.Bold | FontStyle.Italic);

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(
                new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);

            g.DrawString(code, font, brush, 0, 0);

            ////画图片的前景噪音点
            for (int i = 0; i < 100; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);
                image.SetPixel(x, y, Color.FromArgb(random.Next()));
            }

            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
            try
            {
                return(image);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                g.Dispose();
            }
        }
Example #12
0
        /// <summary>
        /// Retrieves a string representing the current menu array
        /// </summary>
        /// <returns>
        /// The current menu array
        /// </returns>
        public string ToMenuArray()
        {
            var wc = new WebColorConverter();

            var sb = new StringBuilder();

            sb.Append("=new Array(");
            sb.Append(CleanForJavascript(this.Text));
            sb.Append(", ");
            sb.Append(CleanForJavascript(this.Link));
            sb.Append(", ");
            sb.Append(CleanForJavascript(this.BackgroundImage));
            sb.Append(", ");
            sb.Append(this.Childs.Count);
            sb.Append(", ");
            if (this.Height.Value > 0)
            {
                sb.Append(this.Height.Value);
            }
            else
            {
                sb.Append(20);
            }

            sb.Append(", ");
            if (this.Width.Value > 0)
            {
                sb.Append(this.Width.Value);
            }
            else
            {
                sb.Append((this.Text.Length * 7) + 15);
            }

            sb.Append(", ");
            sb.Append(CleanForJavascript(wc.ConvertToString(this.ControlStyle.BackColor)));
            sb.Append(", ");
            sb.Append(CleanForJavascript(wc.ConvertToString(this.ControlHiStyle.BackColor)));
            sb.Append(", ");
            sb.Append(CleanForJavascript(wc.ConvertToString(this.ControlStyle.ForeColor)));
            sb.Append(", ");
            sb.Append(CleanForJavascript(wc.ConvertToString(this.ControlHiStyle.ForeColor)));
            sb.Append(", ");
            sb.Append(CleanForJavascript(wc.ConvertToString(this.ControlStyle.BorderColor)));
            sb.Append(");");
            sb.Append("\n");

            return(sb.ToString());
        }
Example #13
0
    protected void OpenInIFrame(ExcelWorksheetCollection worksheets, string currentSheet)
    {
        #region Set Active Worksheet

        if (currentSheet != null)
        {
            worksheets.ActiveWorksheet = worksheets[currentSheet];
        }
        else
        {
            worksheets.ActiveWorksheet = worksheets[0];
        }

        #endregion

        #region Save Html file of Excel file

        WebColorConverter converter = new WebColorConverter();
        lblSheet.ForeColor = (Color)converter.ConvertFromString("ThreeDDarkShadow");
        lblSheet.Text      = "You are watching sheet <b>" + worksheets.ActiveWorksheet.Name + "</b> of total <b>" + worksheets.Count + "</b> sheets in excel file <b>" + nameOfFile + "</b>";

        string file    = nameOfFile + "_" + worksheets.ActiveWorksheet.Name;
        string uplPath = Server.MapPath(@"~/Documents/Excel_Html/" + file + ".html");
        string virPath = HttpRuntime.AppDomainAppVirtualPath + @"/Documents/Excel_Html/" + file + ".html";
        xcel.SaveHtml(uplPath, null, true);

        #endregion

        #region Set Iframe src path

        excelFrame.Visible           = true;
        excelFrame.Attributes["src"] = virPath;

        #endregion

        #region Show error if there is no data in the sheet

        CellRange range = worksheets.ActiveWorksheet.GetUsedCellRange(true);
        if (range == null)
        {
            lblSheet.ForeColor = System.Drawing.Color.Red;
            lblSheet.Text      = "<b>ERROR</b> - There is no data in the selected sheet <b>" + worksheets.ActiveWorksheet.Name + "</b>";
        }

        #endregion
    }
        protected void ImportLicense_Click(object sender, EventArgs e)
        {
            statusMessage.Text = "";

            TokenHelper.TrustAllCertificates();
            ClientContext ctx = TokenHelper.GetClientContextWithContextToken(Session["SPHostUrl"].ToString(), Session["contexToken"].ToString(), Request.Url.Authority);

            string           appIconUrl  = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.LastIndexOf("/")) + "/AppIcon.png";
            SPAppLicenseType licenseType = SPAppLicenseHelper.GetLicenseTypeFromString(importLicenseType.SelectedValue);
            string           token       = SPAppLicenseHelper.GenerateTestToken(licenseType, importProductId.Text, importUserLimit.SelectedValue, int.Parse(importExpiration.SelectedValue), importPurchaserId.Text);

            SPAppLicenseHelper.ImportLicense(ctx, token, appIconUrl, importAppTitle.Text, importProviderName.Text);
            WebColorConverter converter = new WebColorConverter();

            statusMessage.Text = "License Imported Succesfully!  Time=" + DateTime.Now;
            //importTokenGenerated.Text = token;
        }
Example #15
0
        /*产生验证图片*/
        public byte[] CreateImages(string code)
        {
            Bitmap            image = new Bitmap(60, 20);
            Graphics          g     = Graphics.FromImage(image);
            WebColorConverter ww    = new WebColorConverter();

            g.Clear((Color)ww.ConvertFromString("#FAE264"));

            Random random = new Random();

            //画图片的背景噪音线
            for (int i = 0; i < 12; i++)
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);

                g.DrawLine(new Pen(Color.LightGray), x1, y1, x2, y2);
            }
            Font font = new Font("Arial", 15, FontStyle.Bold | FontStyle.Italic);

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(
                new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Gray, 1.2f, true);
            g.DrawString(code, font, brush, 0, 0);

            //画图片的前景噪音点
            for (int i = 0; i < 10; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);
                image.SetPixel(x, y, Color.White);
            }

            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            byte[] bytes = ms.GetBuffer();
            ms.Close();
            g.Dispose();
            image.Dispose();
            return(bytes);
        }
Example #16
0
        /*产生验证图片*/
        public void CreateImage(string code)
        {
            Bitmap            image = new Bitmap(60, 25);
            Graphics          g     = Graphics.FromImage(image);
            WebColorConverter ww    = new WebColorConverter();

            g.Clear((Color)ww.ConvertFromString("#FAE264"));

            Random random = new Random();

            //画图片的背景噪音线
            for (int i = 0; i < 12; i++)
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);

                g.DrawLine(new Pen(Color.LightGray), x1, y1, x2, y2);
            }
            Font font = new Font("宋体", 14, FontStyle.Bold);

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(
                new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Gray, 1.2f, true);
            g.DrawString(code, font, brush, 0, 0);

            //画图片的前景噪音点
            for (int i = 0; i < 10; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);
                image.SetPixel(x, y, Color.White);
            }

            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            Response.ClearContent();
            Response.ContentType = "image/Gif";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            image.Dispose();
        }
Example #17
0
    public void CreateImages(string code)
    {
        Bitmap image = new Bitmap(60, 20);
        Graphics g = Graphics.FromImage(image);
        WebColorConverter ww = new WebColorConverter();
        g.Clear((Color)ww.ConvertFromString("#AAE264"));

        Random random = new Random();

        for (int i = 0; i < 12; i++)
        {
            int x1 = random.Next(image.Width);
            int x2 = random.Next(image.Width);
            int y1 = random.Next(image.Height);
            int y2 = random.Next(image.Height);

            g.DrawLine(new Pen(Color.LightGray), x1, y1, x2, y2);
        }
        Font font = new Font("Arial", 15, FontStyle.Bold | FontStyle.Italic);
        System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(
         new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Gray, 1.2f, true);
        g.DrawString(code, font, brush, 0, 0);

        for (int i = 0; i < 10; i++)
        {
            int x = random.Next(image.Width);
            int y = random.Next(image.Height);
            image.SetPixel(x, y, Color.White);
        }

        g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType = "image/Gif";
        Response.BinaryWrite(ms.ToArray());
        g.Dispose();
        image.Dispose();
    }
Example #18
0
 /// <summary>
 /// #ff00ff, #f0f  => color
 /// </summary>
 /// <param name="text"></param>
 /// <returns></returns>
 private Color ConvertStringToColor(string text)
 {
     if (!string.IsNullOrEmpty(text))
     {
         Color             r   = Color.White;
         WebColorConverter wcc = new WebColorConverter();
         text.Trim();
         text = text.Replace("#", "");
         if (text.Length == 6)
         {
             r = (Color)wcc.ConvertFromString("#" + text);
         }
         if (text.Length == 3)
         {
             text = string.Format("{0}{0}{1}{1}{2}{2}",
                                  text[0], text[1], text[2]);
             r = (Color)wcc.ConvertFromString("#" + text);
         }
         return(r);
     }
     return(Color.White);
 }
Example #19
0
        private void UpdateOnClientClick(HyperLink link)
        {
            String url = Url;

            url = Control.ResolveUrl(url); // ResolveUrl会自行处理绝对路径的问题

            string jsFuncName = "LinkBoxFieldShow" + GetHashCode();

            #region 在页面注册脚本函数
            if (!Control.Page.ClientScript.IsClientScriptBlockRegistered(GetType(), jsFuncName))
            {
                var showJs = new StringBuilder();
                var moreJs = new StringBuilder();
                if (Width != Unit.Empty)
                {
                    showJs.AppendFormat("Width:{0},", (Int32)Width.Value);
                }
                if (Height != Unit.Empty)
                {
                    showJs.AppendFormat("Height:{0},", (Int32)Height.Value);
                }
                if (ClickedRowBackColor != Color.Empty)
                {
                    string color = new WebColorConverter().ConvertToString(ClickedRowBackColor);
                    showJs.AppendFormat(@"
BeforeShow:function(){{GridViewExtender.HighlightRow(ele,'{0}',true);}},
AfterClose:function(){{GridViewExtender.HighlightRow(ele,'{0}',false);}},
", color);
                    // 使用到GridViewExtender的地方引入相关的js
                    Control.Page.ClientScript.RegisterClientScriptResource(typeof(GridViewExtender), "XControl.View.GridViewExtender.js");
                }
                if (!string.IsNullOrEmpty(InWindow))
                {
                    showJs.AppendFormat("InWindow:{0},", InWindow);
                }
                if (!string.IsNullOrEmpty(ParentWindow))
                {
                    showJs.AppendFormat("ParentWindow:{0},", ParentWindow);
                }

                if (this.Control is GridView)
                {
                    moreJs.AppendFormat("stopEventPropagation(event);");
                    if (!Control.Page.ClientScript.IsClientScriptBlockRegistered(typeof(object), "stopEventPropagation"))
                    {
                        Control.Page.ClientScript.RegisterClientScriptBlock(typeof(object), "stopEventPropagation",
                                                                            Helper.JsMinSimple(!XControlConfig.Debug, @"
;function stopEventPropagation(e){
    try{
        if(typeof e != 'undefined'){
            if(typeof e.stopPropagation != 'undefined'){
                e.stopPropagation();
            }else if(typeof e.cancelBubble != 'undefined'){
                e.cancelBubble = true;
            }
        }
    }catch(ex){}
}
"), true);
                    }
                }

                Control.Page.ClientScript.RegisterClientScriptBlock(GetType(), jsFuncName,
                                                                    Helper.JsMinSimple(!XControlConfig.Debug, @"
;function {0}(ele, event, title, url, msgRow, msgTitle, msg, btnRow){{
    try{{
        ShowDialog({{
            ID:'win'+Math.random(),
            Title:title,
            URL:url,
            ShowMessageRow:msgRow,
            MessageTitle:msgTitle,
            Message:msg,
            {1}
            ShowButtonRow:btnRow
        }});
        {2}
    }}catch(ex){{{3}}};
    return false;
}}
", jsFuncName, showJs, moreJs, XTrace.Debug ? "alert(ex);" : ""), true);

                LinkBox.RegisterReloadFormJs(Control.Page.ClientScript, Control.Page.IsPostBack);
            }
            #endregion

            var title = link.ToolTip;
            if (String.IsNullOrEmpty(title))
            {
                title = Title;
            }
            OnClientClick = Helper.HTMLPropertyEscape(@"return {0}(this,event,'{1}','{2}',{3},'{4}','{5}',{6});",
                                                      jsFuncName,
                                                      Helper.JsStringEscape(title), Helper.JsStringEscape(url),
                                                      ShowMessageRow.ToString().ToLower(),
                                                      Helper.JsStringEscape(MessageTitle), Helper.JsStringEscape(Message),
                                                      ShowButtonRow.ToString().ToLower()
                                                      );
        }
Example #20
0
        public void NamedColorsCSS2()
        {
            WebColorConverter wcc = new WebColorConverter();
            Color             c;

            c = (Color)wcc.ConvertFrom(null, null, "ActiveBorder");
            Assert.IsTrue(c.IsKnownColor, "#A1");
            Assert.AreEqual("ActiveBorder", c.Name, "#A1-1");

            c = (Color)wcc.ConvertFrom(null, null, "ActiveCaption");
            Assert.IsTrue(c.IsKnownColor, "#A2");
            Assert.AreEqual("ActiveCaption", c.Name, "#A2-1");

            c = (Color)wcc.ConvertFrom(null, null, "AppWorkspace");
            Assert.IsTrue(c.IsKnownColor, "#A3");
            Assert.AreEqual("AppWorkspace", c.Name, "#A3-1");

            c = (Color)wcc.ConvertFrom(null, null, "Background");
            Assert.IsTrue(c.IsKnownColor, "#A4");
            Assert.AreEqual("Desktop", c.Name, "#A1-4");

            c = (Color)wcc.ConvertFrom(null, null, "ButtonFace");
            Assert.IsTrue(c.IsKnownColor, "#A5");
            Assert.AreEqual("Control", c.Name, "#A5-1");

            c = (Color)wcc.ConvertFrom(null, null, "ButtonHighlight");
            Assert.IsTrue(c.IsKnownColor, "#A6");
            Assert.AreEqual("ControlLightLight", c.Name, "#A6-1");

            c = (Color)wcc.ConvertFrom(null, null, "ButtonShadow");
            Assert.IsTrue(c.IsKnownColor, "#A7");
            Assert.AreEqual("ControlDark", c.Name, "#A7-1");

            c = (Color)wcc.ConvertFrom(null, null, "ButtonText");
            Assert.IsTrue(c.IsKnownColor, "#A8");
            Assert.AreEqual("ControlText", c.Name, "#A8-1");

            c = (Color)wcc.ConvertFrom(null, null, "CaptionText");
            Assert.IsTrue(c.IsKnownColor, "#A9");
            Assert.AreEqual("ActiveCaptionText", c.Name, "#A9-1");

            c = (Color)wcc.ConvertFrom(null, null, "GrayText");
            Assert.IsTrue(c.IsKnownColor, "#A10");
            Assert.AreEqual("GrayText", c.Name, "#A10-1");

            c = (Color)wcc.ConvertFrom(null, null, "Highlight");
            Assert.IsTrue(c.IsKnownColor, "#A11");
            Assert.AreEqual("Highlight", c.Name, "#A11-1");

            c = (Color)wcc.ConvertFrom(null, null, "HighlightText");
            Assert.IsTrue(c.IsKnownColor, "#A12");
            Assert.AreEqual("HighlightText", c.Name, "#A12-1");

            c = (Color)wcc.ConvertFrom(null, null, "InactiveBorder");
            Assert.IsTrue(c.IsKnownColor, "#A13");
            Assert.AreEqual("InactiveBorder", c.Name, "#A13-1");

            c = (Color)wcc.ConvertFrom(null, null, "InactiveCaption");
            Assert.IsTrue(c.IsKnownColor, "#A14");
            Assert.AreEqual("InactiveCaption", c.Name, "#A14-1");

            c = (Color)wcc.ConvertFrom(null, null, "InactiveCaptionText");
            Assert.IsTrue(c.IsKnownColor, "#A15");
            Assert.AreEqual("InactiveCaptionText", c.Name, "#A15-1");

            c = (Color)wcc.ConvertFrom(null, null, "InfoBackground");
            Assert.IsTrue(c.IsKnownColor, "#A16");
            Assert.AreEqual("Info", c.Name, "#A16-1");

            c = (Color)wcc.ConvertFrom(null, null, "InfoText");
            Assert.IsTrue(c.IsKnownColor, "#A17");
            Assert.AreEqual("InfoText", c.Name, "#A17-1");

            c = (Color)wcc.ConvertFrom(null, null, "Menu");
            Assert.IsTrue(c.IsKnownColor, "#A18");
            Assert.AreEqual("Menu", c.Name, "#A18-1");

            c = (Color)wcc.ConvertFrom(null, null, "MenuText");
            Assert.IsTrue(c.IsKnownColor, "#A19");
            Assert.AreEqual("MenuText", c.Name, "#A19-1");

            c = (Color)wcc.ConvertFrom(null, null, "ScrollBar");
            Assert.IsTrue(c.IsKnownColor, "#A20");
            Assert.AreEqual("ScrollBar", c.Name, "#A20-1");

            c = (Color)wcc.ConvertFrom(null, null, "ThreeDDarkShadow");
            Assert.IsTrue(c.IsKnownColor, "#A21");
            Assert.AreEqual("ControlDarkDark", c.Name, "#A21-1");

            c = (Color)wcc.ConvertFrom(null, null, "ThreeDFace");
            Assert.IsTrue(c.IsKnownColor, "#A22");
            Assert.AreEqual("Control", c.Name, "#A22-1");

            c = (Color)wcc.ConvertFrom(null, null, "ThreeDHighlight");
            Assert.IsTrue(c.IsKnownColor, "#A23");
            Assert.AreEqual("ControlLight", c.Name, "#A23-1");

            c = (Color)wcc.ConvertFrom(null, null, "ThreeDLightShadow");
            Assert.IsTrue(c.IsKnownColor, "#A24");
            Assert.AreEqual("ControlLightLight", c.Name, "#A24-1");

            Exception ex = null;

            try {
                c = (Color)wcc.ConvertFrom(null, null, "ThreeDShadow");
            } catch (Exception e) {
                ex = e;
            }
            Assert.IsNotNull(ex, "#A25");

            c = (Color)wcc.ConvertFrom(null, null, "Window");
            Assert.IsTrue(c.IsKnownColor, "#A26");
            Assert.AreEqual("Window", c.Name, "#A26-1");

            c = (Color)wcc.ConvertFrom(null, null, "WindowFrame");
            Assert.IsTrue(c.IsKnownColor, "#A27");
            Assert.AreEqual("WindowFrame", c.Name, "#A27-1");

            c = (Color)wcc.ConvertFrom(null, null, "WindowText");
            Assert.IsTrue(c.IsKnownColor, "#A28");
            Assert.AreEqual("WindowText", c.Name, "#A28-1");
        }
        protected void rptCartItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                bool isCartItem = (e.Item.DataItem is CartItem);
                if (!isCartItem)
                {
                    return;
                }

                var item = e.Item.DataItemAs <CartItem>();

                var trHeader  = new TableRow();
                var converter = new WebColorConverter();
                trHeader.BackColor = (Color)converter.ConvertFrom("#" + AppLogic.AppConfig("LightCellColor"));
                // headers..

                var tdItemNameHeader = new TableCell();
                tdItemNameHeader.Width = Unit.Percentage(30);
                var lblItemNameHeader = new Label();
                lblItemNameHeader.Text = string.Format("<b>{0}</b>", AppLogic.GetString("shoppingcart.cs.1", ThisCustomer.SkinID, ThisCustomer.LocaleSetting));
                tdItemNameHeader.Controls.Add(lblItemNameHeader);

                trHeader.Cells.Add(tdItemNameHeader);

                var tdShipHeader = new TableCell();
                tdShipHeader.Width = Unit.Percentage(70);
                var lblShipHeader = new Label();
                lblShipHeader.Text = string.Format("<b>{0}</b>", AppLogic.GetString("shoppingcart.cs.24", ThisCustomer.SkinID, ThisCustomer.LocaleSetting));
                tdShipHeader.Controls.Add(lblShipHeader);

                trHeader.Cells.Add(tdShipHeader);
                e.Item.Controls.Add(trHeader);

                // details
                var trDetail        = new TableRow();
                var tdDetailCaption = new TableCell()
                {
                    Width         = Unit.Percentage(30),
                    VerticalAlign = VerticalAlign.Top,
                };
                trDetail.Cells.Add(tdDetailCaption);

                var lblItemName = new Label()
                {
                    Text = item.DisplayName
                };
                tdDetailCaption.Controls.Add(lblItemName);


                var tdDetailAddNew = new TableCell()
                {
                    Width         = Unit.Percentage(70),
                    VerticalAlign = VerticalAlign.Top
                };
                trDetail.Cells.Add(tdDetailAddNew);

                e.Item.Controls.Add(trDetail);

                if (item.IsDownload || item.IsService)
                {
                    var lblNoShippingRequired = new Label()
                    {
                        Text = AppLogic.GetString("checkoutshippingmult.aspx.7", ThisCustomer.SkinID, ThisCustomer.LocaleSetting)
                    };
                    tdDetailAddNew.Controls.Add(lblNoShippingRequired);
                    tdDetailAddNew.Controls.Add(new LiteralControl("<br />"));
                    tdDetailAddNew.Controls.Add(new LiteralControl("<br />"));
                }
                else
                {
                    var ctrlAddressSelector = new AddressSelectorControl()
                    {
                        ID = "ctrlAddressSelector"
                    };

                    var availableAddresses = new List <Address>();
                    availableAddresses.AddRange(ThisCustomer.ShippingAddresses);

                    bool shouldNotContainingTheSameAddressId = !ThisCustomer.ShippingAddresses.Any(addressItem => addressItem.AddressID == item.m_ShippingAddressID && !item.GiftRegistryID.HasValue);
                    if (item.GiftRegistryID.HasValue && shouldNotContainingTheSameAddressId)
                    {
                        var registryBillingAddress = ThisCustomer.GetRegistryItemShippingAddress(item.m_ShippingAddressID, item.GiftRegistryID);
                        availableAddresses.Add(registryBillingAddress);
                        availableAddresses.Reverse();
                    }

                    ctrlAddressSelector.AddressesDataSource = availableAddresses;
                    ctrlAddressSelector.SelectedAddressID   = item.m_ShippingAddressID;
                    tdDetailAddNew.Controls.Add(ctrlAddressSelector);

                    var script = new StringBuilder();

                    script.Append("<script type=\"text/javascript\" language=\"Javascript\" >\n");
                    script.Append("$add_windowLoad(\n");
                    script.Append(" function() { \n");

                    script.AppendFormat("   var row = new ise.Controls.CheckOutShippingMultiItemRowControl();\n");
                    script.AppendFormat("   row.setAddressSelectorcontrolId('{0}');\n", ctrlAddressSelector.ClientID);

                    script.Append(" }\n");
                    script.Append(");\n");
                    script.Append("</script>\n");

                    Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), script.ToString());
                }
            }
        }
Example #22
0
        /// <summary>
        /// Retrieves a string representing the current menu array
        /// </summary>
        /// <param name="prefix"></param>
        /// <returns>The current menu array</returns>
        protected string ToMenuArray(string prefix)
        {
            WebColorConverter wc = new WebColorConverter();

            StringBuilder sb = new StringBuilder();

            sb.Append("<script type = 'text/javascript'>\n");
            sb.Append("  function Go(){return}\n");
            sb.Append("</script>\n");

            sb.Append("<script type = 'text/javascript'>\n");

            sb.Append("var NoOffFirstLineMenus = ");
            sb.Append(Childs.Count);
            sb.Append(";\n");

            //MH:
            sb.Append("var CssItemClassName = ");
            sb.Append("\"");
            sb.Append(ControlItemStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssHiClassName = ");
            sb.Append("\"");
            sb.Append(ControlHiStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssSubClassName = ");
            sb.Append("\"");
            sb.Append(ControlSubStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssHiSubClassName = ");
            sb.Append("\"");
            sb.Append(ControlHiSubStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            //MH:


            sb.Append("var LowBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var LowSubBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HighBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HighSubBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiSubStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontLowColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSubLowColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontHighColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSubHighColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiSubStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(BorderColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderSubColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.BorderColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderWidth = ");
            sb.Append(BorderWidth.Value);
            sb.Append(";\n");

            sb.Append("var BorderBtwnElmnts = ");
            sb.Append(BorderBtwnElmnts ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FontFamily = ");
            sb.Append("\"");
            sb.Append(Font.Name);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSize = ");
            sb.Append(Font.Size.Unit.Value);
            sb.Append(";\n");

            sb.Append("var FontBold = ");
            sb.Append(Font.Bold ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FontItalic = ");
            sb.Append(Font.Italic ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var MenuTextCentered = ");
            sb.Append("\"");
            sb.Append(MenuTextCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuCentered = ");
            sb.Append("\"");
            sb.Append(MenuCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuVerticalCentered = ");
            sb.Append("\"");
            sb.Append(MenuVerticalCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var ChildOverlap = ");
            sb.Append(ChildOverlap.ToString(new CultureInfo("en-US").NumberFormat));
            sb.Append(";\n");

            sb.Append("var ChildVerticalOverlap = ");
            sb.Append(ChildVerticalOverlap.ToString(new CultureInfo("en-US").NumberFormat));
            sb.Append(";\n");

            sb.Append("var LeftPaddng = ");
            sb.Append(LeftPaddng);
            sb.Append(";\n");

            sb.Append("var TopPaddng = ");
            sb.Append(TopPaddng);
            sb.Append(";\n");

            sb.Append("var StartTop = ");
            sb.Append(StartTop);
            sb.Append(";\n");

            sb.Append("var StartLeft = ");
            sb.Append(StartLeft);
            sb.Append(";\n");

            sb.Append("var VerCorrect = ");
            sb.Append(VerCorrect);
            sb.Append(";\n");

            sb.Append("var HorCorrect = ");
            sb.Append(HorCorrect);
            sb.Append(";\n");

            sb.Append("var FirstLineHorizontal = ");
            sb.Append(Horizontal ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var MenuFramesVertical = ");
            sb.Append(MenuFramesVertical ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var DissapearDelay = ");
            sb.Append(DissapearDelay);
            sb.Append(";\n");

            sb.Append("var TakeOverBgColor = ");
            sb.Append(TakeOverBgColor ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FirstLineFrame = ");
            sb.Append("\"");
            sb.Append(FirstLineFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var SecLineFrame = ");
            sb.Append("\"");
            sb.Append(SecLineFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var DocTargetFrame = ");
            sb.Append("\"");
            sb.Append(DocTargetFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HideTop = ");
            sb.Append(HideTop ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var TargetLoc = ");
            sb.Append("\"");
            //sb.Append(TargetLoc);
            //sb.Append(this.Controls[0].ClientID);
            sb.Append("MenuPos"); //NS4 bug fix
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuWrap = ");
            sb.Append(MenuWrap ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var RightToLeft = ");
            sb.Append(RightToLeft ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var UnfoldsOnClick = ");
            sb.Append(UnfoldsOnClick ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var WebMasterCheck = ");
            sb.Append(WebMasterCheck ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var ShowArrow = ");
            sb.Append(ShowArrow ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var KeepHilite = ");
            sb.Append(KeepHilite ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var Arrws = ");
            sb.Append("[");
            for (int i = 0; i <= _arrws.GetUpperBound(0); i++)
            {
                sb.Append("\"");
                sb.Append(ImagesPath + _arrws[i].ImageUrl);
                sb.Append("\", ");
                sb.Append(_arrws[i].Width.Value);
                sb.Append(", ");
                sb.Append(_arrws[i].Height.Value);
                if (i != _arrws.GetUpperBound(0))
                {
                    sb.Append(", ");
                }
            }
            sb.Append("]");
            sb.Append(";\n");

            sb.Append("function BeforeStart(){;}\n");
            sb.Append("function AfterBuild(){;}\n");
            sb.Append("function BeforeFirstOpen(){;}\n");
            sb.Append("function AfterCloseAll(){;}\n");

            sb.Append(Childs.ToMenuArray(prefix));

            sb.Append("</script>\n");
            sb.Append("<script type = 'text/javascript' src = '" + ClientScriptPath + "menu_com.js'></script>\n");
            sb.Append("<noscript>Your browser does not support script</noscript>\n");

            return(sb.ToString());
        }
Example #23
0
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO; 
public partial class ImgVode : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string checkCode = CreateCode(4);
        Session["CheckCode"] = checkCode;
        CreateImage(checkCode);
    }

    /*产生验证码*/
    public string CreateCode(int codeLength)
    {
        
        string so = "2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,M,N,P,Q,R,S,T,U,V,W,X,Y,Z";
        string[] strArr=so.Split(',');
        string code = "";
        Random rand=new Random();
        for (int i = 0; i < codeLength; i++)
        {
            code+=strArr[rand.Next(0, strArr.Length)];
        }
        return code;
    }

    /*产生验证图片*/
    public void CreateImage(string code)
    {
        
        Bitmap image = new Bitmap(80, 28);
        Graphics g = Graphics.FromImage(image);
        WebColorConverter ww=new WebColorConverter();
        g.Clear((Color)ww.ConvertFromString("#ADC0D4"));

        Random random = new Random();
        //画图片的背景噪音线


        for (int i = 0; i < 50; i++)
        {
            int x1 = random.Next(image.Width);
            int x2 = random.Next(image.Width);
            int y1 = random.Next(image.Height);
            int y2 = random.Next(image.Height);

            g.DrawLine(new Pen(Color.LightGray), x1, y1, x2, y2);
        }
        Font font = new Font("Arial", 18, FontStyle.Bold | FontStyle.Italic);
        System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(
            new Rectangle(0,0,image.Width,image.Height),Color.Blue,Color.Gray,50,true);
        g.DrawString(code, font, brush, 4, 0);

        //画图片的前景噪音点


        for (int i = 0; i < 60; i++)
        {
            int x = random.Next(image.Width);
            int y = random.Next(image.Height);
            image.SetPixel(x, y, Color.Blue);
        }

        //画图片的边框线


        g.DrawRectangle(new Pen(Color.Black), 0, 0, image.Width - 1, image.Height - 1);

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType = "image/Gif";
        Response.BinaryWrite(ms.ToArray());
        g.Dispose();
        image.Dispose();
    }
}



Example #24
0
        public static Image CreateKitProductImage(LifeStyleColors color, Image productImage, Size imageSize, bool transparent, Color backgroundColor, bool antiAlias)
        {
            Bitmap result = new Bitmap(imageSize.Width, imageSize.Height);

            using (Graphics g = Graphics.FromImage(result))
            {
                g.Clear(backgroundColor);

                if (antiAlias)
                {
                    g.SmoothingMode = SmoothingMode.HighQuality;
                }
                else
                {
                    g.SmoothingMode = SmoothingMode.HighSpeed;
                }

                g.InterpolationMode = InterpolationMode.HighQualityBicubic;

                // background

                // circle

                #region Draw Circle
                Color _colorOuter;
                Color _colorInner;

                WebColorConverter cc = new WebColorConverter();
                switch (color)
                {
                case LifeStyleColors.LightBlue:
                    _colorOuter = (Color)cc.ConvertFromString("#A8BADE");
                    _colorInner = (Color)cc.ConvertFromString("#89A5D5");
                    break;

                case LifeStyleColors.Orange:
                    _colorOuter = (Color)cc.ConvertFromString("#F7C272");
                    _colorInner = (Color)cc.ConvertFromString("#F2B248");
                    break;

                case LifeStyleColors.Gray:
                    _colorInner = (Color)cc.ConvertFromString("#616d8d");
                    _colorOuter = (Color)cc.ConvertFromString("#3d5076");
                    break;

                case LifeStyleColors.Blue:
                default:
                    _colorOuter = (Color)cc.ConvertFromString("#425790");
                    _colorInner = (Color)cc.ConvertFromString("#2C4985");
                    break;
                }

                Rectangle outerRect = new Rectangle(1, 1, imageSize.Width - 2, imageSize.Height - 2);

                float borderWidth = 0.1f;

                g.FillEllipse(new SolidBrush(_colorOuter), outerRect);
                outerRect.Inflate((int)(-borderWidth * outerRect.Width), (int)(-borderWidth * outerRect.Height));
                g.FillEllipse(new SolidBrush(_colorInner), outerRect);


                #endregion


                double maxWidth  = Math.Sin(0.25 * Math.PI) * (double)imageSize.Width;
                double maxHeight = Math.Cos(0.25 * Math.PI) * (double)imageSize.Height;

                #region Product



                int avX = (int)maxWidth;  //  - (int)(2 * (_padding * imageSize.Width));
                int avY = (int)maxHeight; // -(int)(2 * (_padding * imageSize.Height));

                Rectangle resizedSize = GetFixedSize(productImage, avX, avY, true);


                int x = (imageSize.Width - resizedSize.Width) / 2;
                int y = (imageSize.Height - resizedSize.Height) / 2;


                g.DrawImage(productImage, new Rectangle(x, y, resizedSize.Width, resizedSize.Height));

                #endregion



                // product
            }

            result.MakeTransparent(backgroundColor);
            return(result);
        }