Использование и трансформация объектов структуры System.Drawing.Point

Необходимо создать изображение на основе объектов структуры Point. Имеется два объекта

var orig = new Point(point.X, point.Y);
var inversed = new Point(size.Width - point.X - 1, point.Y);

Дак вот, можно ли объединить их в одну картинку, один объект структуры Point? Они создаются на основе одной картинки, просто первый объект - изначальная картинка, а второй - отражённая по горизонтали. Желательно также, чтобы это всё было в переменной.

Желаемый результат. введите сюда описание изображения

Создавая вот такой метод изображение отражается по горизонтали.

            mainForm.AddFilter(new TransformFilter(
                "Мозаика(Должна быть)",
                size => size,
                (point, size) =>
                {
                    
                    var orig = new Point(point.X, point.Y);
                    var inversed = new Point(size.Width - point.X - 1, point.Y);

                    return inversed;/*заглушка*/
                }
                )); 

Метод является делегатом вот этого класса.

    public class TransformFilter : TransformFilter<EmptyParameters>
    {
        public TransformFilter(string name, Func<Size, Size> sizeTransformer,
            Func<Point, Size, Point> pointTransformer)
            : base(name, new FreeTransformer(sizeTransformer, pointTransformer)) { }
    }

Ответы (1 шт):

Автор решения: aepot

По сути здесь просто тот же пересчет координат.

mainForm.AddFilter(new TransformFilter(
    "Мозаика",
    size => size,
    (point, size) =>
    {
        point.X = (point.X < size.Width / 2 ? point.X : size.Width - point.X - 1) * 2;
        point.Y = (point.Y < size.Height / 2 ? point.Y : size.Height - point.Y - 1) * 2;
        return point;
    }
)); 
→ Ссылка