Пример #1
0
        public void Paint(int X, int Y, FloatingImage Image)
        {
            int Width = Radius * 2 + 1;

            for (int i = 0; i < Width; ++i)
            {
                for (int j = 0; j < Width; ++j)
                {
                    int x = i - Radius;
                    int y = j - Radius;
                    Image[X + x, Y + y] = BlendMode.Filter(Image[X + x, Y + y], Color * Matrix[i, j]);
                }
            }
        }
Пример #2
0
        public FloatingImage Filter(BlendFilter Filter, FloatingImage Image)
        {
            int Width  = _Pixels.GetLength(0);
            int Height = _Pixels.GetLength(1);

            FloatingColor[,] NewPixels = new FloatingColor[Width, Height];

            for (int i = 0; i < Width; ++i)
            {
                for (int j = 0; j < Height; ++j)
                {
                    NewPixels[i, j] = Filter.Filter(this[i, j], Image[i, j]);
                }
            }

            return(new FloatingImage()
            {
                _Pixels = NewPixels
            });
        }