public static LinearBitmap operator +(LinearBitmap b, LinearBitmap c) { int width = b.Width + c.Width; LinearBitmap result = new LinearBitmap(width); foreach (var item in b.LinearBrushs) { result.LinearBrushs.Add(item); } foreach (var item in c.LinearBrushs) { LinearBrush linearBrush = item.Clone(); linearBrush.Start = linearBrush.Start + b.Width; linearBrush.End = linearBrush.End + b.Width; result.LinearBrushs.Add(linearBrush); } result.Draw(); return(result); }
public static LinearBitmap operator -(LinearBitmap b, LinearBitmap c) { int width = b.Width - c.Width; LinearBitmap result = new LinearBitmap(width); var collection = b.LinearBrushs.Take(b.LinearBrushs.Count - c.LinearBrushs.Count); foreach (var item in collection) { result.LinearBrushs.Add(item); } result.Draw(); return(result); }
public LinearBitmap RemoveLast() { var last = this.LinearBrushs.LastOrDefault(); if (last == null || this.LinearBrushs.Count == 1) { return(null); } int width = this.Width - last.End + last.Start; LinearBitmap result = new LinearBitmap(width); var collection = this.LinearBrushs.Take(this.LinearBrushs.Count - 1); foreach (var item in collection) { result.LinearBrushs.Add(item); } result.Draw(); return(result); }