示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }