示例#1
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Color tpC1        = NuGenColorsStatic.TabPageColor1;
            Color tpC2        = NuGenColorsStatic.TabPageColor2;
            Color tpC3        = NuGenColorsStatic.TabPageColor3;
            Color tpC4        = NuGenColorsStatic.TabPageColor4;
            Color tpbC5       = NuGenColorsStatic.TabPageBorderColor;
            Color tpColor6    = NuGenColorsStatic.Color6;
            Color tpBackColor = NuGenColorsStatic.TabBarBackColor;

            if (ngMediImage != null)
            {
                tpC1        = ngMediImage.GetColorConfig().TabPageColor1;
                tpC2        = ngMediImage.GetColorConfig().TabPageColor2;
                tpC3        = ngMediImage.GetColorConfig().TabPageColor3;
                tpC4        = ngMediImage.GetColorConfig().TabPageColor4;
                tpbC5       = ngMediImage.GetColorConfig().TabPageBorderColor;
                tpColor6    = ngMediImage.GetColorConfig().Color6;
                tpBackColor = ngMediImage.GetColorConfig().TabBarBackColor;
            }

            e.Graphics.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            e.Graphics.SmoothingMode      = SmoothingMode.HighQuality;
            e.Graphics.InterpolationMode  = InterpolationMode.HighQualityBilinear;
            e.Graphics.CompositingQuality = CompositingQuality.HighQuality;

            Rectangle rect = new Rectangle(0, 0, this.Width - 1, this.Height - 1);

            if (this.hover)
            {
                RibbonControl.RenderSelection(e.Graphics, rect, 2f, this.pressed);
            }
            else if (this.ispressed)
            {
                RibbonControl.RenderSelection(e.Graphics, rect, 2f, true);
            }
            else if (!this.isflat)
            {
                Color[] col = new Color[] { tpC1, tpC2, tpC3, tpC4 };
                float[] pos = new float[] { 0.0f, 0.2f, 0.2f, 1.0f };

                ColorBlend blend = new ColorBlend();
                blend.Colors    = col;
                blend.Positions = pos;
                LinearGradientBrush brush = new LinearGradientBrush(rect, Color.Transparent, Color.Transparent, LinearGradientMode.Vertical);
                brush.InterpolationColors = blend;

                RibbonControl.FillRoundRectangle(e.Graphics, brush, rect, 2f);

                RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(tpColor6), rect, 2f);
                rect.Offset(1, 1);
                rect.Width  -= 2;
                rect.Height -= 2;
                RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(new LinearGradientBrush(rect, tpBackColor, Color.Transparent, LinearGradientMode.ForwardDiagonal)), rect, 2f);
            }

            base.OnPaint(e);
        }
示例#2
0
        private Bitmap GenerateImage()
        {
            if (ngMediImage == null)
            {
                return(null);
            }

            Bitmap   b = new Bitmap(50, 88);
            Graphics g = Graphics.FromImage(b);

            g.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            g.SmoothingMode      = SmoothingMode.HighQuality;
            g.InterpolationMode  = InterpolationMode.HighQualityBilinear;
            g.CompositingQuality = CompositingQuality.HighQuality;

            Rectangle rect = new Rectangle(0, 0, this.Width - 1, this.Height - 1);

            Color[] col = new Color[] { ngMediImage.GetColorConfig().TabPageColor1, ngMediImage.GetColorConfig().TabPageColor2, ngMediImage.GetColorConfig().TabPageColor3, ngMediImage.GetColorConfig().TabPageColor4 };
            float[] pos = new float[] { 0.0f, 0.2f, 0.2f, 1.0f };

            ColorBlend blend = new ColorBlend();

            blend.Colors    = col;
            blend.Positions = pos;
            LinearGradientBrush brush = new LinearGradientBrush(rect, Color.Transparent, Color.Transparent, LinearGradientMode.Vertical);

            brush.InterpolationColors = blend;

            RibbonControl.FillRoundRectangle(g, brush, rect, 3f);

            RibbonControl.DrawRoundRectangle(g, new Pen(ngMediImage.GetColorConfig().Color6), rect, 3f);
            rect.Offset(1, 1);
            rect.Width  -= 2;
            rect.Height -= 2;
            RibbonControl.DrawRoundRectangle(g, new Pen(new LinearGradientBrush(rect, ngMediImage.GetColorConfig().TabPageBorderColor, Color.Transparent, LinearGradientMode.ForwardDiagonal)), rect, 3f);

            g.Dispose();

            Bitmap b2 = new Bitmap(12, 88);

            Graphics g2 = Graphics.FromImage(b2);

            g2.DrawImage(b, 0, 0, new Rectangle(10, 0, 12, 88), GraphicsUnit.Pixel);
            g2.Dispose();
            b.Dispose();

            return(b2);
        }
示例#3
0
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            e.Graphics.SmoothingMode      = SmoothingMode.HighQuality;
            e.Graphics.InterpolationMode  = InterpolationMode.HighQualityBilinear;
            e.Graphics.CompositingQuality = CompositingQuality.HighQuality;

            Rectangle rect = new Rectangle(0, 0, pictureBox1.Width - 1, pictureBox1.Height - 1);

            RibbonControl.FillRoundRectangle(e.Graphics, new LinearGradientBrush(e.ClipRectangle, this.startcolor, this.endcolor, LinearGradientMode.Horizontal), rect, 3f);

            StringFormat sf = new StringFormat();

            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            e.Graphics.DrawString(Math.Round(this.value, 3).ToString(), this.label1.Font, new SolidBrush(Color.FromArgb(218, 226, 226)), rect, sf);

            if (this.hover)
            {
                float x = this.np ? (float)((this.value + 1.0) / 2.0) * rect.Width : (float)this.value * rect.Width;
                e.Graphics.DrawLine(new Pen(new LinearGradientBrush(e.ClipRectangle, Color.FromArgb(255, 255, 247), Color.FromArgb(210, 192, 141), LinearGradientMode.Vertical), 3f), x, 0, x, rect.Height);
            }
            else
            {
                float x = this.np ? (float)((this.value + 1.0) / 2.0) * rect.Width : (float)this.value * rect.Width;
                e.Graphics.DrawLine(new Pen(new LinearGradientBrush(e.ClipRectangle, Color.FromArgb(223, 183, 136), Color.FromArgb(171, 161, 140), LinearGradientMode.Vertical), 3f), x, 0, x, rect.Height);
            }

            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(172, 172, 172)), rect, 3f);

            rect.Offset(1, 1);
            rect.Width  -= 2;
            rect.Height -= 2;
            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(96, 0, 0, 0)), rect, 3f);
            rect.Offset(1, 1);
            rect.Width  -= 2;
            rect.Height -= 2;
            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(64, 0, 0, 0)), rect, 3f);
            rect.Offset(1, 1);
            rect.Width  -= 2;
            rect.Height -= 2;
            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(32, 0, 0, 0)), rect, 3f);
        }
示例#4
0
        protected override void OnPaint(PaintEventArgs e)
        {
            this.BackColor = Color.Transparent;
            //this.RaisePaintEvent(null, e);
            //return;
            Color rgbC1 = NuGenColorsStatic.RibbonGroupBottomColor1;
            Color rgbC2 = NuGenColorsStatic.RibbonGroupBottomColor1;
            Color rgbC3 = NuGenColorsStatic.RibbonGroupBackColor;
            Color tpbC5 = NuGenColorsStatic.TabPageBorderColor;

            if (ngMediImage != null)
            {
                rgbC1 = ngMediImage.GetColorConfig().RibbonGroupBottomColor1;
                rgbC2 = ngMediImage.GetColorConfig().RibbonGroupBottomColor2;
                rgbC3 = ngMediImage.GetColorConfig().RibbonGroupBackColor;
                tpbC5 = ngMediImage.GetColorConfig().TabPageBorderColor;
            }
            //this.BackColor = rgbC3;

            e.Graphics.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            e.Graphics.SmoothingMode      = SmoothingMode.HighQuality;
            e.Graphics.InterpolationMode  = InterpolationMode.HighQualityBilinear;
            e.Graphics.CompositingQuality = CompositingQuality.HighQuality;

            Rectangle rect1 = new Rectangle(1, 1, this.Width - 2, this.Height - 2);
            Rectangle rect2 = Rectangle.Empty;

            if (direction == FlowDirection.LeftToRight)
            {
                rect2 = new Rectangle(0, this.Height - 18, this.Width - 2, 16);
            }
            else if (direction == FlowDirection.TopDown)
            {
                rect2 = new Rectangle(0, 0, 18, this.Height - 2);
            }

            Rectangle rect3 = new Rectangle(this.Width - 18, this.Height - 18, 15, 15);

            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(tpbC5), rect1, 3f);

            GraphicsPath gp = new GraphicsPath();

            gp.AddArc(rect2.X, rect2.Y - 4f, 6f, 6f, 180, 90);
            gp.AddArc(rect2.X + rect2.Width - 6f, rect2.Y - 5f, 6f, 6f, 270, 90);
            gp.AddArc(rect2.X + rect2.Width - 6f, rect2.Y + rect2.Height - 6f, 6f, 6f, 0, 90);
            gp.AddArc(rect2.X, rect2.Y + rect2.Height - 6f, 6f, 6f, 90, 90);
            gp.CloseFigure();
            e.Graphics.SetClip(gp, CombineMode.Intersect);
            gp.Dispose();
            e.Graphics.FillRectangle(new LinearGradientBrush(rect2, rgbC1, rgbC2, LinearGradientMode.Vertical), rect2);

            e.Graphics.Clip = new Region();

            StringFormat sf = new StringFormat();

            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;

            e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(Color.White), rect2, sf);

            if (OnPopup != null)
            {
                if (this.hoverplus)
                {
                    RibbonControl.RenderSelection(e.Graphics, rect3, 2f, this.pressed);
                    e.Graphics.DrawString("+", this.Font, new SolidBrush(Color.Black), rect3, sf);
                }
                else
                {
                    e.Graphics.DrawString("+", this.Font, new SolidBrush(Color.White), rect3, sf);
                }
            }

            rect1.Offset(-1, -1);
            RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(Color.FromArgb(140, 141, 143)), rect1, 3f);
        }
示例#5
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Color tpBackColor = NuGenColorsStatic.TabBarBackColor;
            Color tpColor6    = NuGenColorsStatic.Color6;

            if (this.ngMediImage != null)
            {
                tpBackColor = ngMediImage.GetColorConfig().TabBarBackColor;
                tpColor6    = ngMediImage.GetColorConfig().Color6;
            }


            e.Graphics.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            e.Graphics.SmoothingMode      = SmoothingMode.HighQuality;
            e.Graphics.InterpolationMode  = InterpolationMode.HighQualityBilinear;
            e.Graphics.CompositingQuality = CompositingQuality.HighQuality;

            e.Graphics.Clear(tpBackColor);

            e.Graphics.DrawLine(new Pen(Color.FromArgb(115, 115, 115)), 0, 0, this.Width, 0);

            Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);

            if (this.Height > 26)
            {
                RibbonControl.FillRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(5, this.Height - 20, this.Width - 10, 17), 3f);
                RibbonControl.FillRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(5, this.Height - 20, this.Width - 10, 16), 3f);
            }

            int ti = 0;

            foreach (TabPage tab in this.TabPages)
            {
                Rectangle tabrect = this.GetTabRect(ti);
                tabrect.Height += 4;

                StringFormat sf = new StringFormat();
                sf.Alignment     = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;

                if (this.SelectedIndex >= 0 && tab.Name != "tbStart" && this.Height > 26 && tab == this.SelectedTab)
                {
                    //Rectangle tabRectR = new Rectangle(tabrect.X + 3, tabrect.Y, tabrect.Width, tabrect.Height);
                    Rectangle tabRectR = tabrect;

                    RibbonControl.FillTopRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(32, Color.Black)), new Rectangle(tabrect.X - 2, tabrect.Y, tabrect.Width + 4, tabrect.Height + 4), 3f);
                    RibbonControl.FillTopRoundRectangle(e.Graphics, new SolidBrush(Color.FromArgb(16, Color.Black)), new Rectangle(tabrect.X - 1, tabrect.Y, tabrect.Width + 2, tabrect.Height + 4), 3f);
                    RibbonControl.FillTopRoundRectangle(e.Graphics, new LinearGradientBrush(tabrect, Color.FromArgb(237, 238, 239), Color.FromArgb(206, 210, 217), LinearGradientMode.Vertical), tabRectR, 3f);

                    RibbonControl.DrawTopRoundRectangle(e.Graphics, new Pen(tpColor6), tabRectR, 3f);
                    tabrect.Offset(1, 1);
                    tabrect.Width -= 2;
                    tabrect.Height--;
                    RibbonControl.DrawRoundRectangle(e.Graphics, new Pen(new LinearGradientBrush(tabrect, Color.FromArgb(249, 249, 249), Color.Transparent, LinearGradientMode.ForwardDiagonal)), tabRectR, 3f);

                    Region region = new Region();
                    region.Exclude(new Rectangle(tabrect.X - 4, 0, tabrect.Width + 1, 2));
                    tab.Region = region;

                    tabrect.Height -= 2;
                    e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.Black), tabrect, sf);
                }
                else if (ti == this.hoverindex && (!this.closed || ti == 0))
                {
                    tabrect.Width--;

                    if (ti == 0)
                    {
                        tabrect.X      += 2;
                        tabrect.Width  -= 2;
                        tabrect.Height -= 3;
                        RibbonControl.RenderSelection(e.Graphics, tabrect, 3f, this.pressed);
                        tabrect.X      -= 2;
                        tabrect.Width  += 2;
                        tabrect.Height += 3;
                    }
                    else
                    {
                        RibbonControl.RenderTopSelection(e.Graphics, tabrect, 3f, this.pressed);
                    }

                    tabrect.Width++;

                    tabrect.Height -= 2;
                    e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.Black), tabrect, sf);
                }
                else
                {
                    tabrect.Height -= 2;
                    e.Graphics.DrawString(tab.Text, tab.Font, new SolidBrush(Color.White), tabrect, sf);
                }

                ti++;
            }
        }