public GenerateGenericCurveImage ( |
||
size | ||
inactive | bool | |
return |
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;
}
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; }