VixenModules.App.Curves.Curve.GenerateGenericCurveImage C# (CSharp) Method

GenerateGenericCurveImage() public method

public GenerateGenericCurveImage ( Size size, bool inactive = false ) : Bitmap
size System.Drawing.Size
inactive bool
return System.Drawing.Bitmap
        public Bitmap GenerateGenericCurveImage(Size size, bool inactive=false)
        {
            Bitmap result = new Bitmap(size.Width, size.Height);

            using (Graphics g = Graphics.FromImage(result))
            {
                using (Brush b = new SolidBrush(inactive?Color.DimGray:Color.Black))
                {
                    using (Pen p = new Pen(Color.FromArgb(255,136,136,136), 2))
                    {
                        g.FillRectangle(b, new Rectangle(0, 0, size.Width, size.Height));

                        PointPair lastPoint = null;
                        foreach (var point in Points)
                        {
                            if (lastPoint == null)
                            {
                                lastPoint = point;
                                continue;
                            }
                            g.DrawLine(p, TransformPoint(lastPoint, size), TransformPoint(point, size));
                            lastPoint = point;
                        }
                    }
                }

            }

            return result;
        }

Usage Example

Beispiel #1
0
        private void PopulateListWithCurves()
        {
            listViewCurves.BeginUpdate();
            listViewCurves.Items.Clear();

            listViewCurves.LargeImageList = new ImageList {
                ColorDepth = ColorDepth.Depth32Bit, ImageSize = new Size(68, 68)
            };

            foreach (KeyValuePair <string, Curve> kvp in Library)
            {
                Curve  c    = kvp.Value;
                string name = kvp.Key;

                var      image = c.GenerateGenericCurveImage(new Size(68, 68));
                Graphics gfx   = Graphics.FromImage(image);
                gfx.DrawRectangle(new Pen(Color.FromArgb(136, 136, 136), 2), 0, 0, 68, 68);

                listViewCurves.LargeImageList.Images.Add(name, image);

                ListViewItem item = new ListViewItem {
                    Text = name, Name = name, ImageKey = name, Tag = c
                };
                item.ForeColor = ThemeColorTable.ForeColor;
                listViewCurves.Items.Add(item);
            }

            listViewCurves.EndUpdate();

            buttonEditCurve.Enabled     = false;
            buttonDeleteCurve.Enabled   = false;
            buttonEditCurve.ForeColor   = ThemeColorTable.ForeColorDisabled;
            buttonDeleteCurve.ForeColor = ThemeColorTable.ForeColorDisabled;
        }
All Usage Examples Of VixenModules.App.Curves.Curve::GenerateGenericCurveImage