コード例 #1
0
        private void UpdatePreview()
        {
            GradientData = GetNewBrushData();

            if (GradientData != null && !string.IsNullOrEmpty(GradientData.Data))
            {
                try
                {
                    using (LinearGradientBrush brush = CreateGradientBrush(pbPreview.ClientSize, GradientData))
                    {
                        Bitmap bmp = new Bitmap(pbPreview.ClientSize.Width, pbPreview.ClientSize.Height);

                        using (Graphics g = Graphics.FromImage(bmp))
                        {
                            g.FillRectangle(brush, 0, 0, pbPreview.ClientSize.Width, pbPreview.ClientSize.Height);
                        }

                        pbPreview.Image = bmp;
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.ToString());
                }
            }
        }
コード例 #2
0
        public static LinearGradientBrush CreateGradientBrush(Size size, GradientData gradientData)
        {
            IEnumerable<GradientStop> gradient = ParseGradientData(gradientData.Data);
            gradient = gradient.OrderBy(x => x.Offset);

            LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, size.Width, size.Height), Color.Black, Color.Black, gradientData.Type);
            ColorBlend blend = new ColorBlend();
            blend.Colors = gradient.Select(x => x.Color).ToArray();
            blend.Positions = gradient.Select(x => x.Offset).ToArray();
            brush.InterpolationColors = blend;
            return brush;
        }
コード例 #3
0
        public GradientMaker(GradientData gradientData)
            : this()
        {
            GradientData = gradientData;

            if (GradientData != null)
            {
                rtbCodes.Text = GradientData.Data;
                cboGradientDirection.SelectedIndex = (int)GradientData.Type;

                UpdatePreview();
            }
        }
コード例 #4
0
        public GradientMaker(GradientData gradientData)
            : this()
        {
            GradientData = gradientData;

            if (GradientData != null)
            {
                rtbCodes.Text = GradientData.Data;
                cboGradientDirection.SelectedIndex = (int)GradientData.Type;

                UpdatePreview();
            }
        }
コード例 #5
0
        public static LinearGradientBrush CreateGradientBrush(Size size, GradientData gradientData)
        {
            IEnumerable <GradientStop> gradient = ParseGradientData(gradientData.Data);

            gradient = gradient.OrderBy(x => x.Offset);

            LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, size.Width, size.Height), Color.Black, Color.Black, gradientData.Type);
            ColorBlend          blend = new ColorBlend();

            blend.Colors              = gradient.Select(x => x.Color).ToArray();
            blend.Positions           = gradient.Select(x => x.Offset).ToArray();
            brush.InterpolationColors = blend;
            return(brush);
        }
コード例 #6
0
        private void UpdatePreview()
        {
            GradientData = GetNewBrushData();

            if (GradientData != null && !string.IsNullOrEmpty(GradientData.Data))
            {
                try
                {
                    using (LinearGradientBrush brush = CreateGradientBrush(pbPreview.ClientSize, GradientData))
                    {
                        Bitmap bmp = new Bitmap(pbPreview.ClientSize.Width, pbPreview.ClientSize.Height);

                        using (Graphics g = Graphics.FromImage(bmp))
                        {
                            g.FillRectangle(brush, 0, 0, pbPreview.ClientSize.Width, pbPreview.ClientSize.Height);
                        }

                        pbPreview.Image = bmp;
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.ToString());
                }
            }
        }
コード例 #7
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     GradientData = GetNewBrushData();
     DialogResult = DialogResult.OK;
     Close();
 }
コード例 #8
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     GradientData = GetNewBrushData();
     DialogResult = DialogResult.OK;
     Close();
 }